forEach 并不改变原数组:
var arr = [1, 2, 3, 4, 5];
var a=arr.forEach(function(value,index,arr){
value=value+7
})
console.log(a)
console.log(arr.toString())
输出:undefined
1,2,3,4,5
但是当数组中的value是对象是 他是改变原数组的
var arr = [{id:1}, {id:2}, {id:3},{id:3},{id:4}];
arr.forEach(function(value){
value.id=2
})
console.log(arr)