我想用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
。