js怎么往日志上打印堆栈

JavaScript018

js怎么往日志上打印堆栈,第1张

一 看一下它们的性质,这种性质决定了它们的使用场合

队列:是一种支持先进先出(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()

这就是递归调用,会一直调用下去,直到堆栈溢出