CONNLY-J / cultivate

0 stars 0 forks source link

执行上下文 #30

Open goldEli opened 4 years ago

goldEli commented 4 years ago

说说你对执行上下文的理解

CONNLY-J commented 4 years ago

执行上下文分为全局上下文、函数上下文、eval上下文。 全局上下文只有一个,就是window对象,在全局任意地方都可以访问全局上文中的属性和方法。 函数执行上下文可以有无数个,每当一个函数被调用时都会创建一个函数执行上下文,同一个函数被多次调用的话都会创建一个函数执行上下文。 eval函数执行上下文是执行在eval函数内部的代码的执行上下文。 执行上下文分为创建阶段、执行阶段、销毁阶段。 创建阶段进行的操作就是变量提升,变量和函数先初始化声明,变量统一定义为undefined,等到赋值时才有确切的值,函数的话就直接定义。 执行阶段的话就是JS代码开始按顺序执行,对变量赋值、顺着作用域链访问变量, 销毁阶段就是当当前函数执行完后会进行销毁