JavaScript回调函数传参的方法

本文探讨了JavaScript中函数作为参数传递的两种方法。一种是修改接收函数的定义以接受额外参数,另一种是利用闭包来实现。文章通过具体示例展示了如何在不改变原有函数签名的情况下,实现在函数B中调用函数A。

现在假设有一个函数A如下,这个函数用来在控制台打印出一个值

function A(value){
    console.log(value);
}

还有一个函数B如下

function B(callback){
    callback();
}

现在的需求是,要求在函数B中调用A(1),即在控制台输出1。

如果这么写

B(A(1));

那么控制台会报错callback is not a function
现在有两种解决方案:
方案一:重写B方法

function B(callback,param){
    callback(param);
}
B(A,1);

安装上述方法可以成功,但是在实际场景中,param的个数不好控制,这样写起来也麻烦。

方案二:使用闭包原则,我们这么写

function A(value){
    console.log(value);
}

function B(callback){
    callback();
}

B(function(){A(1)});
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值