栈(stack)是一种运算受限的线性表,其限制是仅允许在表的一端进行插入和删除运算。这一端被称为栈顶,相对的把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把栈顶元素删除掉,使其相邻的元素成为新的栈顶元素。
在 JavaScript 中,可以使用数组及其相关操作来模拟栈操作。首先,使用数组存储一列元素,然后使用数组的push() 方法在数组的尾部添加指定的元素,类似于在栈顶添加元素,即顶部入;然后使用数组的pop() 删除并返回数组尾部的元素,类似于顶部出栈,即后入的元素先出。