2019-05-14 13:25:23 2080浏览
什么是预编译?对javascript预编译过程有多少的小伙伴知道或者是了解呢?本篇文章扣丁学堂HTML5培训小编就给读者们分享一下javascript预编译过程,感兴趣的小伙伴就随小编来了解一下吧。
当js代码执行时有三个步骤:
3,解释执行,解释一行执行一行,一旦出错立即停止执行。
预编译发生在代码执行的前一刻。
预编的时候会生成AO(ActivetionObject,执行期上下文)和GO(GlobalObject,等于window)
【注1】先生成GO,生成后会逐行执行代码,遇到某个函数要执行时,在执行前的前一刻会预编译这个函数,生成AO。
运行结果如下:
GO创建过程:
2.在全局中寻找变量声明作为GO的属性,并将undefined赋给它。
3.在全局中寻找函数声明(【注2】注意不是变量赋值)作为GO属性,并将函数体赋值于它。
AO创建过程:
第一次打印完b后,代码执行到然后开始创建AO,其创建过程和GO相似只是多了一步实参形参相统一而已。
2.在相应函数中寻找形参和变量声明作为执行期上下文的属性,并将undefined赋给它们。
3.实参形参相统一。
4.寻找函数声明作为它的属性,并将函数体赋给它。
想要了解更多关于HTML5开发方面内容的小伙伴,请关注扣丁学堂HTML5培训官网、微信等平台,扣丁学堂IT职业在线学习教育有专业的HTML5讲师为您指导,此外扣丁学堂老师精心推出的HTML5视频教程定能让你快速掌握HTML5从入门到精通开发实战技能。扣丁学堂H5技术交流群:673883249。
【关注微信公众号获取更多学习资料】 【扫码进入HTML5前端开发VIP免费公开课】