function xxx() {
console
.log(i
);
let i
= 0;
}
在函数调用函数的时候,如果输出一个变量,如果被调用的函数没有该变量,则会输出全局变量的值,如果全局也没有则报错;
let i
= 1;
function xxx() {
console
.log(i
);
if (!i
) {
var i
= 100;
}
console
.log(i
);
}
由于if不是函数,因此var可以从局部作用域出来,变成xxx的局部变量;如果if改成函数则var则会一直为自己的局部变量,不会升级为xxx的局部变量