-
回调函数:
- 把一个函数A当做实参传递给另外一个函数B,在B方法执行的时候,把A方法也执行了,这种机制叫做回调函数机制
-
特点:
- 1.根据需求,回调函数可以被执行n次
- 2.不仅可以把回调函数执行,还可以给传递的回调函数传递实参,这样在回调函数中,设置形参(或者使用arg)接收即可
- 3.还可以改变回调函数中的this指向
- 4.可以在宿主函数中接收回调函数执行的返回结果(宿主函数:他在哪执行的,他的宿主函数就是谁)
- 5.回调函数中,一般this是window,除非宿主函数执行回调函数的时候把this指向改变,箭头函数除外
-
[].sort((a,b)=>{}) -
''.replace(/\d+/,()=>{})
let fn = (callback)=>{
// callback && callback.call(obj,100,200);
// callback => 传递进来的函数
// 如果传了参数,即传了函数(为真),则执行这个函数;如果没传函数,为undefined(为假)
//=> typeof callback === 'function'?callback():null;
let res = callback(10,20);
console.log(res); //30
}
fn((n,m)=>{
// this => window
// console.log(n,m); //100,200
return n + m;
});