Muh*_*mar 60 javascript invoke method-invocation
我想在JavaScript中编写自己的函数,它将一个回调方法作为参数并在完成后执行它,我不知道如何在我的方法中调用一个作为参数传递的方法.喜欢反思.
示例代码
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
});
Run Code Online (Sandbox Code Playgroud)
lon*_*day 84
您可以将其称为正常功能:
function myfunction(param1, callbackfunction)
{
//do processing here
callbackfunction();
}
Run Code Online (Sandbox Code Playgroud)
唯一额外的事情是提到背景.如果您希望能够this在回调中使用关键字,则必须分配该关键字.这通常是理想的行为.例如:
function myfunction(param1, callbackfunction)
{
//do processing here
callbackfunction.call(param1);
}
Run Code Online (Sandbox Code Playgroud)
在回调中,您现在可以访问param1为this.见Function.call.
我也遇到了同样的情况,我必须调用作为参数发送给另一个函数的函数。
我试过
mainfunction('callThisFunction');
Run Code Online (Sandbox Code Playgroud)
第一种方法
function mainFuntion(functionName)
{
functionName();
}
Run Code Online (Sandbox Code Playgroud)
但最终会出错。所以我试过了
第二种方法
functionName.call().
Run Code Online (Sandbox Code Playgroud)
还是没用。所以我试过了
第三种方法
this[functionName]();
Run Code Online (Sandbox Code Playgroud)
这就像一个冠军。所以这只是增加了一种调用方式。可能我的第一种和第二种方法可能存在问题,但我更多地使用谷歌搜索并花时间选择了第三种方法。
| 归档时间: |
|
| 查看次数: |
73925 次 |
| 最近记录: |