我正在玩aroun并找到了令人兴奋的事情
var x = "x";
function a (){
var x = "y";
if(1){
var x = "g";
alert(x);
}
alert(x)
}
a()
为什么这个输出" g" ," g"在" g" ," y" ? if创建另一个块作用域,x是局部变量,这意味着当我离开if块时,应该打印外部x(等于" y")。
答案 0 :(得分:0)
原因是变量x具有功能级别范围,并且设置为变量的最新值是" g"。因此,您使用相同的x" g"。
提醒两次