JavaScript裡面的迴圈方法小結

來源:互聯網
上載者:User

標籤:var   ul li   developer   get   json   小結   ttl   img   技術分享   

一,原生JavaScript中的迴圈:

for 迴圈代碼塊一定的次數,它有三個參數,來決定代碼塊的迴圈次數,第一個是初始值,第二個是終止值,第三個參數是變化規則:

//for迴圈for(var i = 0, len = jsonArr.length; i < len; i++) {console.log(JSON.stringify(jsonArr[i]));}

for in迴圈一般用於遍曆對象的屬性,它有兩個參數,in之前為屬性名稱參數,in之後為要遍曆的對象,它會遍曆對象中的每一個屬性,key即為屬性名稱,對象【屬性名稱】則輸出屬性值:

for(var key in jsonObj) {console.log(key + ‘:‘ + jsonObj[key]);}

注意:這裡的key是字串,而不是真正的索引,for in是為普通對象設計的迴圈,可以遍曆得到字串類型的鍵,如果用它來遍曆數組則不方便。

forEach迴圈

jsonArr.forEach(function(value,index,array){console.log(‘********************‘);console.log(value);console.log(index);console.log(array);});

這是輸出結果,可以看到,value是數組元素值,index為當前值得索引,array則為當前所遍曆的數組對象。

for of迴圈

var jsonArr = [{‘one‘: ‘1‘},{‘two‘: ‘2‘},{‘three‘: ‘3‘}];//for of迴圈for(var value of jsonArr) {console.log(value);}

將輸出數組的每一項的值。

for-of迴圈除了可以遍曆數組,也可以遍曆其它的集合。比如,大多數類數組對象,例如DOM NodeList對象。

var nodeLis = document.getElementById(‘ul‘).childNodes;//for of迴圈for(var value of nodeLis) {console.log(value);}

for-of迴圈也支援字串遍曆,它將字串視為一系列的Unicode字元來進行遍曆:

var str = ‘i am little sun‘;for(var value of str) {console.log(value);}

while和do while迴圈:

var i=0while(i<5){console.log(i);i++;}do{console.log(i);i++;}while(i<5)

二者的區別是,do while無論條件滿足與否都會至少執行一次。

二,jQuery中專有的迴圈:

$.each()用於遍曆數組和對象:

遍曆數組:

var arr1 = [0, 1, 2, 3, 4];var arr2 = $(‘ul li‘);$.each(arr1, function(index,value) {console.log(index)console.log(value)});

遍曆對象:

$.each(jsonObj, function(key, val) {  alert(jsonObj[key]);}); 

$().each()用於遍曆jQuery中的節點對象:$(selector).each(function(index,element))

$( $(‘ul li‘)).each(function(index,value){console.log(index)console.log(value)});

部分文章中有提到,$.().each()主要用於處理dom,在測試中發現其實兩者都可以同樣的用於處理dom,似乎沒有什麼大的區別。

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.