如何在javascript函数中处理匿名函数?

时间:2011-03-24 11:48:16

标签: javascript anonymous-function

我需要在Javascript中存储一个作为我的“命名”函数的参数传递的匿名函数,然后再调用它。

我该怎么做?我已经知道如何将匿名函数作为参数传递,但是当我在代码的“另一端”时,我不知道如何处理它。

谢谢

4 个答案:

答案 0 :(得分:5)

Functions in JavaScriptfirst-class members,这意味着您可以像处理语言中的任何其他数据类型一样使用它们 - 您可以将它们作为参数传递,将它们作为成员变量保存在其他函数中,从函数等返回它们。

在您询问过的情况下,它就像任何其他命名变量一样,可以调用以下函数,因为它函数:

function myFunc(anonymous){
    var arg1;
    anonymous(arg1);
}

myFunc(function(arg1){console.log(arg1)});

答案 1 :(得分:1)

只需使用参数名称调用它。

function callThisLater(laterFunction) {
  // ...
  laterFunction(args);
}

callThisLater(function (arg1) {
    alert("We've been called!");
});

答案 2 :(得分:1)

这是基本的例子:

function Foo(func) {
    this.Func = func;
    this.Activate = function() {
        this.Func();
    };
}

var foo = new Foo(function() { alert("activated"); });
foo.Activate();

我相信您错过的是使用()来“激活”该功能 - 据我所知,您已将功能“存储”到变量。

答案 3 :(得分:0)

是否可以将作为参数传递的匿名函数分配给命名函数中的全局变量,然后将全局变量用作对匿名函数的引用。