JavaScript裏面的循環方法小結

一,原生JavaScript中的循環:

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

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

for in循環通常用於遍歷對象的屬性,它有兩個參數,in以前爲屬性名參數,in以後爲要遍歷的對象,它會遍歷對象中的每個屬性,key即爲屬性名,對象【屬性名】則輸出屬性值:java

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

注意:這裏的key是字符串,而不是真正的索引,for in是爲普通對象設計的循環,能夠遍歷獲得字符串類型的鍵,若是用它來遍歷數組則不方便。node

forEach循環json

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

這是輸出結果,能夠看到,value是數組元素值,index爲當前值得索引,array則爲當前所遍歷的數組對象。數組

for of循環dom

	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字符來進行遍歷:3d

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

while和do while循環:code

var i=0
while(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,彷佛沒有什麼大的區別。

相關文章
相關標籤/搜索