大学IT网 - 最懂大学生的IT学习网站! QQ资料交流群:367606806
当前位置:大学IT网 > JavaScript技巧 > Javascript代码执行过程

Javascript代码执行过程

关键词:Javascript代码执行过程  阅读(546) 赞(13)

[摘要]本文是对Javascript代码执行过程的讲解,对学习JavaScript编程技术有所帮助,与大家分享。

本文摘录自李战老师《悟透Javascript》一书的部分章节,为适应博客发表作了一点点修改。

1) 预编译分析。

JavaScript执行引擎将所有定义式函数直接创建为作用域上的函数变量,并将其值初始化为定义的函数代码逻辑,也就是为其建立了可调用的函数变量。 “var”定义的变量也会在这一步中创建起来,初始值为undefined。

2) 开始解释执行代码。

JavaScript执行引擎并非一行一行地分析和执行程序,而是一段一段地分析执行的。而且,在同一段程序的分析执行中,定义式的函数语句会被提取出来优先执行。函数定义执行完之后,才会按顺序执行其他语句代码。(同一段中的所有同名定义式函数都会被最后一个同名函数覆盖。)
当遇到对函数名或变量名的使用时,JavaScript执行引擎会首先在当前作用域查找函数或变量,如果没有就到上层作用域查找,依次类推。因此,在一个作用域中前面的语句引用后面语句定义的“var”变量时,该变量其实已经存在,只是初始值为undefined。
函数在每次调用时都会产生一个子作用域,退出函数时,这个子作用域就消失,下次调用相同函数时又是另一个子作用域了。函数内调用函数,又产生一个作用域,随着函数调用的深入自然形成“作用域链”。



相关评论