相同點:數組
1.都是循環遍歷數組中的每一項函數
2.每次執行匿名函數都支持三個參數,參數分別爲item(當前每一項),index(索引值),arr(原數組)this
3.匿名函數中的this都是指向window索引
4.只能遍歷數組事件
不一樣點:回調函數
map()it
map方法返回一個新的數組,數組中的元素爲原始數組調用函數處理後的值io
也就是map()進行處理以後返回一個新的數組console
⚠️注意:map()方法不會對空數組進行檢測function
map方法不會改變原始數組
var arr = [0,2,4,6,8];
var str = arr.map(function(item,index,arr){
console.log(this); //Window
console.log(this);
console.log(item);
console.log('原數組arr:',arr); // 會執行五次
return item/2;},this);console.log(str); //[0,1,2,3,4]
forEach
forEach方法用於調用數組的每一個元素,將元素傳給回調函數
⚠️注意: forEach對於空數組是不會調用回調函數的 ,
沒有返回一個新數組&沒有返回值
應用場景:爲一些相同的元素,綁定事件處理器!
不可鏈式調用
var arr = [0,2,4,6,8] var sum =0; var str = arr.forEach(item,index.arr){sum+= item;console.log("sum的值爲:",sum);})