1.修改forEach回調函數中value參數,不會改變原數組
1 var array=[1,2,3]; 2 //Array在ES5新增的方法中,參數都是function類型,默認有傳參,forEach方法中的function回調支持3個參數,第1個是遍歷的數組內容;第2個是對應的數組索引,第3個是數組本身 3 array.forEach(function(value,index,data){ 4 ++value;//可以看出改變value的值,數組本身是沒有改變的 5 console.log("value:",value,"index:",index,"data:",data); 6 //輸出結果 7 // value: 2 index: 0 data: (3) [1, 2, 3] 8 // value: 3 index: 1 data: (3) [1, 2, 3] 9 // value: 4 index: 2 data: (3) [1, 2, 3] 10 11 }); 12 console.log(array,"array"); 13 //輸出結果 14 // [1, 2, 3] "array"
2.對forEach回調函數的數組參數操作,原數組改變
1 var array=[1,2,3]; 2 array.forEach(function(value,index,data){ 3 ++value; 4 data.push(value); 5 }); 6 console.log(array,"array"); 7 // [1, 2, 3, 2, 3, 4] "array"
3.forEach函數是沒有返回值的
1 var array=[1,2,3]; 2 var newArray=array.forEach(function(value,index,data){ 3 4 }); 5 console.log("newArray:",newArray); 6 //newArray: undefined