javascript执行顺序小结

  作为web开发人员,一定要对js的执行顺序,解析原理有一定了解,否则无法掌控这门小巧好用的语言

  javascript是一门实现网页动态效果的语言,也是主要负责和服务端的交互,他抛弃了像java中类的束缚,将数据结构简化,利用typeof运算符得到的只有number,string,boolean,underfined,null,function,object,回归简单,接下来就说一下js的执行顺序

  js是按块(代码块)执行的  1>.浏览器在解析html时会解析js,就像是先把js下载到浏览器内存中(类似xml的dom解析,注:xml是解析到电脑内存中)

                2>.进入代码块一

                3>.语法检测:做语法分析,有错误的话就不能加载页面了(括号不匹配,写错分号)(语法错误),类似于java中的编译错误(进入下一个代码块)

                4>.预处理:对js代码块中的var变量和function进行预处理,此时js中的变量和function都会声明出来,但是不会赋值,类似于java中的加载到方法区

                5>.执行代码块,有运行错误则报错(变量未声明等),执行完毕进入下个代码块执行

另外说下alert()这个方法,alert()是一个阻塞方法,会中断程序,阻塞所有的线程,js中是单线程的,启动执行队列来执行方法,

文章参考:(其中有包含声明式函数和变量式函数的执行分块行为)http://www.admin10000.com/document/3752.html

原文地址:https://www.cnblogs.com/chq011/p/6675188.html