多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
# 1、全局环境 js在运行时,首先会创建一个全局执行环境,这个全局环境就是定义一个全局对象,页面中所有的内容(不同的script中的内容) 都是这个全局对象的成员,这个全局对象是window。 window对象比较大。包含所有的浏览器对象。 怎么来证明页面中所有的内容都是window对象的成员呢? ![](https://img.kancloud.cn/f9/ec/f9ec4c28200c2291905777cddd52f02e_987x398.png) 有了这个知识点,前面学习的很多内容都可以解释了: 比如window.addEventListener,说明addEventListener在运行的时候也是全局对象window对象的成员。 # 2、执行流程 js在执行的时候,会按照script标签来一个一个的执行,也就是先执行第一个script标签中的内容,然后在执行第二个script标签的内容。 一个script标签中,首先会先 编译代码(检查语法、词法是否错误,没有错误就加载到内存中,准备执行) 执行代码(运行或输出结果)。 执行完毕,继续按照相同的方式执行下一个script标签的内容。 ![](https://img.kancloud.cn/38/0a/380acf6447920d504940eccf7e36cdeb_591x414.png) # 3、错误类型 这里的错误类型指的是编译型错误和执行过程中的错误。 编译型错误,对程序执行的影响: ![](https://img.kancloud.cn/f5/c0/f5c08c1a2fc6b13e64d267a0fc9dd921_840x419.png) 执行过程中的错误,对程序的影响: ![](https://img.kancloud.cn/93/00/930083cfd01b15c67bad268a28164f29_859x440.png)