DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> 關於JavaScript >> js的for in循環和java裡foreach循環的區別分析
js的for in循環和java裡foreach循環的區別分析
編輯:關於JavaScript     

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

遍歷數組實驗:

復制代碼 代碼如下: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程序設計有所幫助。

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved