首頁 >web前端 >js教程 >js的for in迴圈和java裡foreach迴圈的區別分析

js的for in迴圈和java裡foreach迴圈的區別分析

高洛峰
高洛峰原創
2017-01-21 15:52:331654瀏覽

本文實例分析了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

7

拿java的foreach迴圈來做對比,有兩大差異。首先java的foreach迴圈不會去列舉一個java物件的屬性。其次,java的foreach循環列舉一個數組或任何實作了Iterable介面的物件的時候,for(Object o : list), 物件o得到的是list一個元素,而非在列表中的下標。

java的遍歷程式碼就不貼出來了。常寫後台程式碼,foreach循環很熟悉。寫前台js程式碼的時候,難免會套用java的語法,所以第一次用js的for in循環的時候犯錯了。這次總結清楚,以後就不會犯錯了。


希望本文所述對大家的javascript程式設計有所幫助。

更多js的for in循環和java裡foreach循環的區別分析相關文章請關注PHP中文網!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn