JS笔记(16):回调函数

255 阅读1分钟
  • 回调函数:

    • 把一个函数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;
});