欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

js执行栈与执行上下文理解

程序员文章站 2022-04-21 16:33:43
...

js执行栈与执行上下文理解

首先将全局代码引入封装为执行上下文并放入执行栈底部,当遇到函数被调用时开始将函数代码封装为执行上下文放入执行栈,调用结束以后根据后进先出的规则一次释放。 举个例子

 

let a = 'Hello World!';
function first() {
  console.log('Inside first function');
  second();
  console.log('Again inside first function');
}
function second() {
  console.log('Inside second function');
}
first();
console.log('Inside Global Execution Context');

js执行栈与执行上下文理解

代码解析:

let a = 20;
const b = 30;
var c ;
function multiply(e,f){
 var g = 20;
 return e * f * g;
}
c = multiply(20,30);

 

1、代码开始运行,创建一个全局执行上下文来执行全局代码
js执行栈与执行上下文理解

2、执行阶段,变量赋值完成


js执行栈与执行上下文理解

3、创建一个新的函数执行上下文来执行该函数代码

 

js执行栈与执行上下文理解

4、函数变量赋值完成,执行上下文进入执行阶段


js执行栈与执行上下文理解

5、该函数执行完后,返回值被储存在c中。全局词法环境更新,全局代码执行结束,程序结束