队列:是一种支持先进先出(FIFO)的集合,即先被插入的数据,先被取出!
堆栈:是一种支持后进先出(LIFO)的集合,即后被插入的数据,先被取出!
二 看一下实现的代码(JS代码)
var a=new Array()
a.unshift(1)
a.unshift(2)
a.unshift(3)
a.unshift(4)
console.log("先进先出")
a.pop()
var a=new Array()
a.push(1)
a.push(2)
你那个是递归调用,而且没有条件结束递归。所以导致“堆栈溢出”。在JS中,全局的变量与函数实际都window对象的属性与方式,也就是说你定义function
print这个就是window对象的一个方法,就相当于function
window.print,所以你的代码成了:
window.onload=function
window.print(){
window.print()
}
这就是递归调用,会一直调用下去,直到堆栈溢出