javascript - 如何调用带有参数的回调函数?

标签 javascript

我有一个功能:

function func1(callback){
   var num = 11111;
   callback.call(num);
}

现在我称之为:

 func1(function(num){
    console.log("num= " + num);
 });

但我发现 num 未定义。
有什么问题吗?

最佳答案

Function.call() 将在传递引用的范围内调用函数,您只需要在不具有任何特定范围的情况下调用它

function func1(callback){
   var num = 11111;
   callback(num);
}

或者,如果您想在任何范围内调用,第一个参数始终是引用,因此请在之后传递您的参数,例如:

callabck.call(reference, param1, param2); 
callback.apply(reference, [param1, param2]);

关于javascript - 如何调用带有参数的回调函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20174480/

相关文章:

javascript - 设置样式缩放级别 openlayers 3

javascript - 如何在 jquery 中向 'this' 上面的总体类添加一个类

javascript - 无法通过 Template Bottle 将数据发送到 Javascript

javascript - 在 useEffect 中使用自定义 Hook 时出错

javascript - 如何获取被点击元素的位置

javascript - 在 jquery 中获取 span 标签的前 2 个和后 2 个词

javascript - 只允许字母和空格并将每个单词大写

javascript - 检查外部js脚本是否已经在组件Angular 2中

javascript - 在纯 Javascript 中查询元素的伪类

javascript - 为什么我的动画不起作用?