在Javascript中作为参数接收的调用函数

时间:2016-07-07 12:02:10

标签: javascript

我有以下代码和函数:

var f1;

var getFunction = function (f2) {
    f1 = f2;   
}

稍后在代码中,我需要调用f1(实际上是作为参数接收的)。请注意,当我调用它时,我不知道函数的名称。

如何拨打此电话?

3 个答案:

答案 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();