Call Stack 调用栈

393 阅读1分钟

概念:

调用栈就是解释器,追踪函数执行流的一种机制。

特点:

  • 每调用一个函数,解释器就回把该函数添加进调用栈并开始执行
  • 正在调用栈里执行的函数调用了其他新函数,新函数也会被添加进调用栈,一旦被调用就会立即执行。
  • 函数执行完,解释器就会将其删除,继续执行当前执行环境剩余的代码。
  • 分配的调用栈空间被占满时,会引发“堆栈溢出”错误

示例:

function greeting () { 
    console.log('111'); 
    sayHello(); 
    console.log('222'); 
} 
function sayHello(){ 
    console.log('hello!'); 
} 
greeting ();

image.png

在浏览器控制台查看调用栈:

在函数内部添加debugger可以查看实时函数调用栈

image.png

本篇文章纯属个人理解,大家看完觉得有所收获或者有任何高见,欢迎留言点赞!后续会不定时更新~