我有一个功能:
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/