for-in用JavaScript 编写循环的正确方法是什么?浏览器不会对我在此处显示的两种方法提出任何投诉。首先,有一种方法x可以明确声明迭代变量:
for-in
x
for (var x in set) { ... }
另外,这种方法更自然,但对我而言似乎不正确:
for (x in set) { ... }
使用var,它会减小变量的范围,否则变量将查找最接近的闭包以查找var语句。如果找不到,var则表示它是全局的(如果处于严格模式下usingstrict,则全局变量将引发错误)。这可能会导致如下问题。
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。
var i
2