JavaScript回调函数

回调函数是一种被作为参数传递给另一个函数的高级函数。
回调函数会在其他方法函数方法被调用,也可能不会触发调用。
在JavaScript中,经典的回调函数有很多,像Array中的map,forEach,都会传入函数和回调函数,这就是回调函数的用法
用forEach作为例子

const arr = ['apple', 'peer', 'origin'];

arr.forEach(function(value, index) {
    console.log(`第${index + 1}个是${value}`);
});

在forEach中,就放入了一个自定义的回调函数

回调函数作为另一个函数的参数,回调函数不会立即执行,只有在满足触发的条件下才会执行。

function canUse(use, callback){
    if(use){
        callback();
    }
}

canUse(true, () => {
    console.log('callback be used');
})

在上面的代码中,必须use为true才会触发回调函数。这样的使用,就像ajax请求一样,请求成功是执行success中的回调函数,失败就执行error中的回调函数

自定义的回调函数,可以是普通函数或者是匿名函数

function fn(arg1, arg2, callback) {
    var num = arg1 * arg2;
    callback(num);
}

fn(10, 20, function(num) {
    console.log('num is ' + num);
})

在使用回调函数时,最好判断一下是否为函数,避免出现异常

function getUser(fristName, lastName, callback) {
    if (callback && typeof callback === 'function') {
        callback(fristName, lastName);
    }
}

function sayUser(firstName, lastName) {
    console.log(`hello:  ${firstName} ${lastName}`);
}

getUser('ma', 'youj', sayUser);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值