我有以下代碼段:JavaScript的循環通過一個對象,同時將項目添加
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
變量的方法?
我有以下代碼段:JavaScript的循環通過一個對象,同時將項目添加
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好的發現... – xandercoded 2010-08-11 03:37:45
好吧,我想這不會起作用。但是,在循環中添加屬性會節省大量編碼。 – Azmisov 2010-08-11 15:28:41
等等....什麼? – 2010-08-11 03:29:56
「但我希望它無限地繼續下去,並最終導致瀏覽器崩潰」。即使得到upvote :) – Anurag 2010-08-11 03:58:23