一、首先栈中会产生全局执行上下文,然后全局执行上下文又分为创建阶段和执行阶段。

1、创建阶段:创建阶段包括词法环境和变量环境,其中词法环境包括环境记录、outer(对外层环境的引用)、this绑定。变量环境就是对var声明的变量绑定进行存储。

2、执行阶段:执行阶段会完成所有变量赋值,并最终执行代码。

二、当一个函数执行上下文时,栈中就会创建一个函数执行上下文。函数执行上下文也分为创建阶段和执行阶段,但是对于函数代码而言环境记录还包含一个arguments对象,这个对象包含传递给函数的索引和实参之间的映射,以及传递给该函数的实参的长度 。其余的与全局执行上下文大同小异。

let a = 20
const b = 30;
var c;

function multiply(e,f){
var g = 20;
return efg;
}
c = multiply(20,30)
console.log©

以上代码解析如下图:

log©

以上代码解析如下图:
代码解析

相关文章:

  • 2022-01-09
  • 2021-05-25
  • 2021-07-24
  • 2022-01-18
  • 2021-09-21
  • 2022-02-17
  • 2021-12-28
猜你喜欢
  • 2021-12-05
  • 2021-10-31
  • 2021-07-05
  • 2018-11-27
  • 2022-01-28
  • 2021-10-28
  • 2021-09-16
相关资源
相似解决方案