码迷,mamicode.com
首页 > 编程语言 > 详细

javascript的执行顺序

时间:2016-07-21 12:42:36      阅读:135      评论:0      收藏:0      [点我收藏+]

标签:

1.默认情况下,浏览器是从上而下解析html代码,当然script嵌在html中,因此也会按照此顺序,并且外面引入的文件也不会改变此顺序。

2.任何的javascript代码在执行前都要进行编译

3.当解析到script则浏览器会调用js解析器,通常js解析器是先预编译,再解析执行,解析器对变量和函数声明进行了预编译。如果之前没有声明过,,编译器会在当前作用域声明一个变量,进行初始化,但此时变量并没有赋值

 

 

技术分享

 

对于此种情况,编译器先会在当前作用域中声明一个变量,进行初始化,就是num(如果之前未声明过),但此时变量并没有赋值所以就会有undefined

接下来,引擎会在作用域中查找该变量,如果能够找到,就会对它赋值,所以就会有下面的1。

4.函数编译

当有函数名相同时,后面的函数会替换前面的函数

技术分享

 

技术分享

 

5.js解析器是按照script片段来预编译和解析的,先编译第一个script片段然后执行,接下来再编译第二个script片段然后执行

技术分享

 

技术分享

6.

不同的script代码片段,变量是可以共享的(这是针对全局的变量和函数是可以共享的)。局部变量应当放到函数中。

在执行某个script代码片段时,如果此代码有问题,则会停止执行当前的script后面的代码,但是对后面的script片段没有影响。

技术分享

 

 

 

技术分享

 

javascript的执行顺序

标签:

原文地址:http://www.cnblogs.com/GumpYan/p/5691171.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!