JS预解析问题
var a = 1
function fn(){
a = 2
console.log(a);
}
fn()
console.log(a);
// 分解
var a
function fn(){
a = 2
console.log(a);
}
a = 1
fn()
console.log(a);
理论上按照分解完的顺序走,第一个a=2,但第二个a得出来的结果也是2。
不应该是a=2就是全局变量,再往下a=1覆盖掉2吗?