map方法底层api
//
var new_array = arr.map(function callback(currentValue[, index[, array]]) {
// Return element for new_array
}[, thisArg])
map方法理解的关键部分
map 方法处理数组元素的范围是在 callback 方法第一次调用之前就已经确定了。调用map方法之后追加的数组元素不会被callback访问。如果存在的数组元素改变了,那么传给callback的值是map访问该元素时的值。在map函数调用后但在访问该元素前,该元素被删除的话,则无法被访问到。
我的理解:
1.map方法内部封装了callback函数,
2.开始调用map方法,map方法里的callback函数开始访问元素
3.如果调用map方法之后 元素改变了,之后callback函数访问的是改变之前的元素
4.注意改变的元素不会被访问到