发表于: 2018-04-29 23:36:34
1 450
今天完成的事情:
1、完成小课堂。
2、学习了作用域和执行环境的相关知识。
明天计划的事情:
1、学习js语句函数。
2、学习css的相关属性(渐变动画)
遇到的问题:
无
收获:
执行环境
什么意思呢?就是说,当代码被执行的时候,执行环境被创建,当然最先创建的就是全局执行环境。为方便理解,我们举一个小例子。

这个变量对象里面 ,有全局变量num,初始为undefined,全局的函数foo,bbb,因为是函数声明,有一个函数声明提升的东西,所以它们的[[scope]]会连接在window的活动对象下。
然后把this指向window全局的活动对象,这里吧所有的初始化后开始执行代码,给num=10赋值。
bbb()执行,
在全局的代码中如果遇到了调用一个函数,就进入到了这个函数的执行环境,建立了这样一个活动对象,创建执行环境,创建作用域链,该执行环境的[[scope]]复制到作用域链上,创建活动对象,扫描该执行环境,找到变量赋值undefined,找到函数加入到起活动对象下面,然后加入arguments对象和this关键字,然后将活动对象推送到作用域链的前端,然后执行函数。
评论