前言:
each搔啊、forEach 循環(huán)數(shù)組或者對象柬祠,在循環(huán)中處理數(shù)據(jù)北戏;each為jquery的循環(huán)方法,forEach為js的循環(huán)方法漫蛔;
map返回一個新數(shù)組嗜愈,數(shù)組中的元素為原始數(shù)組元素調(diào)用函數(shù)處理后的值旧蛾。
for in循環(huán)實際是為循環(huán)”enumerable“對象而設(shè)計的,for in也可以循環(huán)數(shù)組蠕嫁,但是不推薦這樣使用锨天,for in是用來循環(huán)帶有字符串key的對象的方法。只能獲得對象的鍵名剃毒,不能直接獲取鍵值病袄。
?for of為ES6提供,具有iterator接口赘阀,就可以用for of循環(huán)遍歷它的成員
內(nèi)容:
1益缠、each
? ? ? ? ?$.each(arr,function(index,item)) 參數(shù)為數(shù)組和回調(diào)函數(shù)基公,回調(diào)函數(shù)參數(shù)為元素在數(shù)組中得下標幅慌、每個元素,回調(diào)函數(shù)可以通過return false退出循環(huán)
2轰豆、forEach
? ? ? ? ? ? ?arr.forEach(function(item,index)) 參數(shù)為回調(diào)函數(shù)胰伍,回調(diào)函數(shù)的參數(shù)為,每個元素酸休、元素在數(shù)組中的下標骂租;沒有返回值,只是針對每個元素調(diào)用func斑司,回調(diào)函數(shù)不可以通過return退出循環(huán)菩咨。?forEach() 對于空數(shù)組是不會執(zhí)行回調(diào)函數(shù)的。
3陡厘、map
map() 方法按照原始數(shù)組元素順序依次處理元素;它不會對空數(shù)組進行檢測也不會改變原始數(shù)組抽米;map()方法執(zhí)行過程中不會中斷,直到數(shù)組遍歷完成糙置。
4云茸、for in
? ? ? ? for in循環(huán)實際是為循環(huán)”enumerable“對象而設(shè)計的,for in也可以循環(huán)數(shù)組谤饭,但是不推薦這樣使用标捺,for in是用來循環(huán)帶有字符串key的對象的方法。
5揉抵、for of
? ? ? ? for of為ES6提供亡容,具有iterator接口,就可以用for of循環(huán)遍歷它的成員冤今。也就是說闺兢,for of循環(huán)內(nèi)部調(diào)用的是數(shù)據(jù)結(jié)構(gòu)的Symbol.iterator方法。for of循環(huán)可以使用的范圍包括數(shù)組戏罢、Set和Map結(jié)構(gòu)屋谭、某些類似數(shù)組的對象(比如arguments對象脚囊、DOM NodeList對象)、后文的Generator對象桐磁,以及字符串悔耘。