调用栈是一种数据结构,里面会记录我们在程序中的大概位置。
当执行进入一个函数,把它置于栈的顶部。
如果从函数中返回则从栈顶部移除函数。
这就是调用栈所能够做的事情。
function multiply(x, y) {
return x * y;
}
function printSquare(x) {
var s = multiply(x, x);
console.log(s);
}
printSquare(5);
当引擎开始执行这段代码的时候,调用栈会被清空。
调用栈中的每个入口被称为堆栈结构。
当发生异常的时候可以看到调用栈的状态
function foo() {
throw new Error('SessionStack will help you resolve crashes :)');
}
function bar() {
foo();
}
function start() {
bar();
}
start();
function foo() {
foo();
}
foo();
浏览器会显示如下错误

由于 JavaScript 只有一个调用栈,如果运行很慢会发生什么?
如何不阻塞 UI 且不让浏览器停止响应来执行运行缓慢的代码呢?
使用异步回调
----------------------------------------
更多内容,我们将在
《在 V8 引擎中如何写最佳代码的 5 条小技巧》
分享中进行详细阐述
谢谢!