什么是执行上下文,执行上下文和作用域有什么区别?
每个函数在被定义时,就会有一个[[scope]]属性,这个属性里保存着作用域链,而执行的前一刻都会创建一个OA对象,这个对象就是执行上下文,这个OA对象会被插入[[scope]]中作用域链的最顶端,这个对象里保存着函数体声明的所有变量、参数和方法。其实执行期上下文就是作用域,执行上下文的集合就是作用连,其本质就是存在[[scope]]属性中的一个OA对象的有序列表。
哦对了还有词法作用域是你不知道的Js中的我上网也查了js的作用域是静态的代码写哪就在哪个作用域中,而不是执行时决定的作用域
我在网上查了很多多没有关于这方面的解释,只提执行环境和作用域链不说作用域,还有好多都是答非所问和抄袭别人的东西