使用var
,它会减小变量的范围,否则变量将查找最接近的闭包以查找var
语句。如果找不到,var
则表示它是全局的(如果处于严格模式下usingstrict
,则全局变量将引发错误)。这可能会导致如下问题。
function f (){
for (i=0; i<5; i++);
}
var i = 2;
f ();
alert (i); //i == 5. i should be 2
如果您var i
在for循环中编写警报,则会显示2
。
JavaScript的“ for-in”循环中是“ var”还是没有“ var”?
使用var
,它会减小变量的范围,否则变量将查找最接近的闭包以查找var
语句。如果找不到,var
则表示它是全局的(如果处于严格模式下usingstrict
,则全局变量将引发错误)。这可能会导致如下问题。
function f (){
for (i=0; i<5; i++);
}
var i = 2;
f ();
alert (i); //i == 5. i should be 2
如果您var i
在for循环中编写警报,则会显示2
。