JavaScript回调函数传参的方法

来源:互联网 发布:cms二次开发 编辑:程序博客网 时间:2024/06/08 12:50

现在假设有一个函数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)});
0 0