把一个函数B作为实参传递给另一个函数 A ,函数 A 在执行的时候,可以把传递进来的函数 B 去执行(执行 N 次,可以传值,可以改 this)
function each(arr, callBack){
// =>callBack:function(item,index){}
for(let i = 0; i < arr.length; i++){
let flag = callBack.call(arr, arr[i], i);
if (flag === false){
// => 接受回调函数返回的结果,如果是false,就结束循环
break;
}
}
}
each([10, 20, 30,40], function(item, index){
// => this: 原始数组
if (index > 2){
return false;
}
})