概念:
调用栈就是解释器,追踪函数执行流的一种机制。
特点:
- 每调用一个函数,解释器就回把该函数添加进调用栈并开始执行
- 正在调用栈里执行的函数调用了其他新函数,新函数也会被添加进调用栈,一旦被调用就会立即执行。
- 函数执行完,解释器就会将其删除,继续执行当前执行环境剩余的代码。
- 分配的调用栈空间被占满时,会引发“堆栈溢出”错误
示例:
function greeting () {
console.log('111');
sayHello();
console.log('222');
}
function sayHello(){
console.log('hello!');
}
greeting ();
在浏览器控制台查看调用栈:
在函数内部添加debugger可以查看实时函数调用栈
本篇文章纯属个人理解,大家看完觉得有所收获或者有任何高见,欢迎留言点赞!后续会不定时更新~