2-javascript运行机制

2018-10-24  本文已影响0人  少年啊兵

1、JS是按照代码块来进行编译和执行的,代码块间相互独立,但变量和方法共享。(块间独立性/块间共享性) 

2、声明式函数和赋值式函数的区别:在JS的预编译期,生命式函数先被提取,然后按顺序执行。

3、JS的解析过程分为两个阶段:预处理期与执行期。预处理期JS会对本代码中所有声明的变量和函数进行处理。但此时处理函数的只是声明式函数,而且变量也只是声明并未初始化以及赋值。


1 2

按照代码块来进行预处理和执行的,也就是说预处理的只是执行到的代码块的声明函数和变量,而对于还未加载的代码块,是没法进行预处理的,这也是边编译边处理的核心所在。

顺序如下

1:读入第一个代码块

2:做语法分析,有错报错(括号不匹配等)。跳到第5步。

3:对var变量和function定义做“预编译处理”(不会报错)

4:执行代码段 有错报错(变量未定义等)

5:如果还有下一个代码段,则读入然后重复步骤2。

根据HTML文档流的执行顺序,需要在页面元素渲染前执行的js代码应该放在前面的代码块中,而需要在页面元素加载完后的js放在元素后面,body标签的onload事件是在最后执行的。

上一篇 下一篇

猜你喜欢

热点阅读