在javascript中,如果在声明一个局部变量时,前面没有加var,则此局部变量会变成全局变量,基于此,在方法中写for循环的时候,记得给循环变量加上var
var i=0; //定义全局变量0
function unUserVar(){
for(i=0;i<1;i++){ //这里没有加var,所以会把之前的i覆盖掉,导致程序BUG
alert("inner i:"+i);
}
}
unUserVar();
alert(i); //显示1,而不是之前定义的0
function userVar(){
for(var j=0;j<1;j++){
alert("inner j:"+j);
}
}
userVar();
alert(j); //显示未定义