变量提升

    xiaoxiao2025-04-11  26

    首先来段总结:

    引擎在读取js代码的过程中,分为两步。第一个步骤是整个js代码的解析读取,第二个步骤是执行。 

    在读取代码的过程中,就产生了将所有声明提升到顶端,然后再从上往下执行。由此产生了变量提升和函数提升。

    1.变量提升只会提升变量名的声明,而不会提升变量的赋值初始化。

    2.函数提升的优先级大于变量提升的优先级。

    console.log(foo); foo();//可以执行 var foo=10; foo();//foo已经被赋值为一个变量,无法执行foo为函数 console.log(foo); function foo(){ var a; console.log(a); a=12; console.log(a); } console.log(foo);

    输出结果:

    最新回复(0)