JavaScript 之 预编译

JavaScript语言运行的过程分为三步:语法分析、预编译、解释执行。浏览很多博客发现,在很多面试中JavaScript的预编译过程总是会被作为一个考点,现在大致总结如下,以后补充。

1.变量提升:变量提升在预编译过程中是一个十分重要的知识点,其中包括:函数声明整体提升和变量声明提升。指的是函数里所有的声明都会被提到函数的顶部。

2.函数声明:  

3.变量赋值:

4.预编译过程:

(1).创建AO activation object(执行期上下文对象)
(2).找形参和变量声明,将变量和形参作为AO属性名,值为undefined
(3).将实参值和形参统一

(4).在函数体里面找函数声明,值赋予函数体

5.实例:

(1)

console:

AO:

(2)


console:

AO:

猜你喜欢

转载自blog.csdn.net/gxgalaxy/article/details/88729727