栈是一种LIFO(Last-In-First-Out,后进先出)的数据结构,也就是最新添加的项最早被移除。
而栈中项的插入(JavaScript称为推入)和移除(JavaScript称为弹出),只发生在栈的顶部。
JavaScript的数组也有类似的方法可以实现类似栈的行为。
<script type="text/javascript">
var bag = new Array(3);
bag = ["apple", "banana", "orange"];
/*push()方法可以接受任意数量的参数,把它们逐个添加到数组末尾,
并且返回修改后的数组长度,从而实现类似栈中项的插入方法*/
var bagLength = bag.push("pineapple", "peach", "pear");
alert("袋子里现在有:" + bag + "\n" + "袋子里一共有 " + bagLength + "种水果");
/*pop()方法从数组的末尾移除最后一项,减少数组的length值,
然后返回移除的项*/
var moveIt = bag.pop();
bagLength = bag.length;
alert("袋子里现在有:" + bag + "\n" + "拿走的水果是:" + moveIt + "\n" + "袋子里还有 " + bagLength + "种水果");
</script>