JavaScript(七)
预编译
JS运行的步骤:
1、语法分析
2、预编译
3、解释执行
函数声明整体提前,变量 声明提前
作用域 全局window(Global Object) 局部作用 (AO Activation Object)
function fun1(){ //c a 暗示成了全局变量
a = 123;
var b = c = 10;
}
函数中的预编译 发生在,函数执行前的那一刻
全局预编译
生成了一个GO对象 其他的三步和函数中是一致
例如:
var a = 2;
console.log(a);
function fun(){
console.log(a);
function a(){};
a = 5;
b = 10;
console.log(b);
function b(){};
}
fun();
var a = function (){};
function a(){};
function b(){};
console.log(a);
console.log(b);



本文深入探讨了JavaScript的预编译过程,包括语法分析、预编译和解释执行三个阶段。详细讲解了函数声明和变量声明的提升机制,以及全局和局部作用域的创建过程。通过具体代码示例,展示了预编译如何影响代码的行为。
856

被折叠的 条评论
为什么被折叠?



