var a = 1;
function foo() {
if (!a) {
var a = 2;
}
alert(a);
};
foo(); //2
解释器分析代码为:
var a;
a = 1;
a = 2;
alert(a); // 此时的 a 并非函数体外的那个全局变量
a=2;并不等价于
a=2;
为什么foo()函数里会有一个 var a; ?
相关分类