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

來源:互聯網
上載者:User

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

本文執行個體分析了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程式設計有所協助。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.