首頁  >  文章  >  web前端  >  js的for in迴圈和java裡foreach迴圈的區別分析_javascript技巧

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

WBOY
WBOY原創
2016-05-16 16:17:261313瀏覽

本文實例分析了js的for in迴圈和java裡foreach迴圈的差異。分享給大家供大家參考。具體分析如下:

js裡的for in迴圈定義如下:

複製程式碼 程式碼如下:
for(var variable in obj) { ... }
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

遍歷陣列實驗: 複製程式碼

程式碼如下:

var mycars = new Array()
mycars[0] = "Saab"
mycars[1] = "Volvo"
mycars[2] = "BMW"
 
for (var x in mycars){
  console.log(x);
}

 
控制台輸出:

0

1

2

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

java的遍歷程式碼就不貼出來了。常寫後台程式碼,foreach循環很熟悉。寫前台js程式碼的時候,難免會套用java的語法,所以第一次用js的for in循環的時候犯錯了。這次總結清楚,以後就不會犯錯了。 希望本文所述對大家的javascript程式設計有所幫助。
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn