JavaScript在添加项目时循环遍历对象

时间:2010-08-11 03:25:29

标签: javascript arrays loops

我有以下代码段:

var run = 0;
var obj = {'item1':0,'item2':5,'item3':10};
for (var i in obj){
    run++
    obj['newItem'+run] = 5;
}
return run;

然后返回3。但我希望它继续无限,最终导致浏览器崩溃。有没有办法在for循环中更新obj变量?

1 个答案:

答案 0 :(得分:3)

通常,您不应该向正在进行迭代的对象添加属性。

引用Mozilla Dev Center

  

添加到正在进行迭代的对象的属性可以在迭代中被访问或省略。通常,除了当前正在访问的属性之外,最好不要在迭代期间添加,修改或删除对象的属性;无法保证是否会访问添加的属性,是否在修改之前或之后访问修改后的属性,或者删除属性是否会被删除。