二、今日目标
- 1、能够理解JS代码段执行过程是怎样的
- 2、能够理解JS错误对代码执行的影响
- 3、能够使用JS定时器功能
- 4、能够取消定时器
- 5、能够理解闭包是怎么回事
- 6、能够了解JS的垃圾回收机制
三、执行流程
3.1、全局环境
js在运行时,首先会创建一个全局执行环境,这个全局环境就是定义一个全局对象,页面中所有的内容(不同的script中的内容) 都是这个全局对象的成员,这个全局对象是window。
window对象比较大。包含所有的浏览器对象。
怎么来证明页面中所有的内容都是window对象的成员呢?
有了这个知识点,前面学习的很多内容都可以解释了:
比如window.addEventListener,说明addEventListener在运行的时候也是全局对象window对象的成员。
window成员,window是可以省略的
3.2、执行流程
js在执行的时候,会按照script标签来一个一个的执行,也就是先执行第一个script标签中的内容,然后在执行第二个script标签的内容。
一个script标签中,首先会先
- 编译代码(检查语法、词法是否错误,没有错误就加载到内存中,准备执行)
- 执行代码(运行或输出结果)。
执行完毕,继续按照相同的方式执行下一个script标签的内容。
###3.3、错误类型
这里的错误类型指的是编译型错误和执行过程中的错误。
####编译型错误,对程序执行的影响: