JavaScript的预解析

it2024-05-11  56

J a v a S c r i p t JavaScript JavaScript的预解析

对于 J S JS JS代码, J S JS JS解释器会先进行预解析,然后再执行代码。

1.预解析会将所有 v a r var var变量声明提升到作用域的最前面,(没有赋值操作) 2.预解析会将所有 v a r var var函数声明提升到作用域的最前面,(没有调用函数操作)

/* fun(); var fun = function () { console.log('harris'); } 这样会报错. 预解析后会变成: var fun; fun(); fun=function(){ console.log('harris'); } */ f(); function f() { console.log('harris'); } //这样会正常执行
f(); function f() { var a = b = c = 10; //这里 b,c是全局变量。 console.log(a); console.log(b); console.log(c); } console.log(c); console.log(b); console.log(a); //这里会报错.
最新回复(0)