执行上下文类型类型
(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…
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。