我有以下代码和函数:
var f1;
var getFunction = function (f2) {
f1 = f2;
}
稍后在代码中,我需要调用f1
(实际上是作为参数接收的)。请注意,当我调用它时,我不知道函数的名称。
如何拨打此电话?
答案 0 :(得分:2)
function test(){
alert(1);
}
var f1;
var getFunction = function (f2) {
f1 = f2;
f1();
}
getFunction(test);
以下是DEMO
答案 1 :(得分:1)
这与Ajax调用中的回调或传递函数引用的任何其他地方没有什么不同。您只需通过存储函数的变量执行它。
var f1;
var setFunction = function (f2) {
f1 = f2;
}
setFunction( function(x) { console.log(x); } );
f1("test");
如果您需要使用范围执行,则需要使用.apply()
或.call()
答案 2 :(得分:0)
var f1;
var getFunction = function (f2) {
f1 = f2;
}
var b = function(){}
getFunction(b);
f1();