掘金掘出油

59 阅读1分钟

执行上下文类型类型

(1)全局执行上下文

任何不在函数内部的都是全局执行上下文,它首先会创建一个全局的window对象,并且设置this的值等于这个全局对象,一个程序中只有一个全局执行上下文。全局上下文就是我们常说的 window 对象,因此所有通过 var 定义的全局变量和函数都会成为 window 对象的属性和方法。 组成:

  • 全局对象(浏览器里是 Window, Node 环境下是 Global)
  • this 变量。这里的 this ,指向的还是全局变量

(2)函数执行上下文

当一个函数被调用时,就会为该函数创建一个新的执行上下文,函数的上下文可以有任意多个。 组成:

  • 函数上下文创建参数对象(arguments);
  • this。动态的,如果它被一个引用对象调用,那么 this 就指向这个对象;否则,this 的值会被设置为全局对象或者 undefined(在严格模式下)

(3)Eval 执行上下文

执行在eval函数中的代码会有属于他自己的执行上下文,用的比较少了了解即可,跟面试官吹逼的时候可以用。


作者:Developer_Niuge
链接:juejin.cn/post/712342… 来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。