本文實例分析了js的for in迴圈和java裡foreach迴圈的差別。分享給大家供大家參考。具體分析如下:
js裡的for in迴圈定義如下:
for(var variable in obj) { ... }
obj可以是一個普通的js物件或一個陣列。如果obj是js對象,那麼variable在遍歷中得到的是對象的屬性的名字,而不是屬性對應的值。如果obj是數組,那麼variable在遍歷中得到的就是數組的下標。
遍歷對象實驗:
var v = {}; v.field1 = "a"; v.field2 = "b"; for(var v in v) { console.log(v); }
控制台下輸出:
field1
field2
拿java的foreach迴圈來做對比,有兩大差異。首先java的foreach迴圈不會去列舉一個java物件的屬性。其次,java的foreach循環列舉一個數組或任何實作了Iterable介面的物件的時候,for(Object o : list), 物件o得到的是list一個元素,而非在列表中的下標。
希望本文所述對大家的javascript程式設計有所幫助。