我有一个简单的循环,它通过其他函数从列表中传递一些数据,但是当这些函数返回时,计数器神秘地增加了:
for (i = 0; i < list.length; i++) {
alert(i) // ONE
doWhatever(list[i]);
alert(i) // TWO
}
doWhatever()
看起来像这样:
function doWhatever (obj) {
for (i in obj) createThing(obj[i]);
}
原始循环中的值怎么可能i
以这种方式改变?