我想用JavaScript编写自己的函数,该函数将回调方法作为参数,并在完成后执行该函数,但我不知道如何在作为参数传递的方法中调用方法。像反射(reflection)。

示例代码

function myfunction(param1, callbackfunction)
{
    //do processing here
    //how to invoke callbackfunction at this point?
}

//this is the function call to myfunction
myfunction("hello", function(){
   //call back method implementation here
});

最佳答案

您可以将其作为普通函数调用:

function myfunction(param1, callbackfunction)
{
    //do processing here
    callbackfunction();
}

唯一的额外事情是提及上下文。如果您希望能够在回调中使用this关键字,则必须对其进行分配。这通常是理想的行为。例如:
function myfunction(param1, callbackfunction)
{
    //do processing here
    callbackfunction.call(param1);
}

在回调中,您现在可以将param1作为this进行访问。参见 Function.call

09-16 11:10