如何在Javascript中递归调用存储在变量中的函数

时间:2015-02-03 20:00:37

标签: javascript

如何在Javascript中实现这一目标?

exports.functions = {
    my_func: function (a) {
        my_func(a);
    }
}

2 个答案:

答案 0 :(得分:7)

函数表达式可以在function关键字后面具有可选名称。这个名称的范围只是函数体,并允许它以递归方式调用:

exports.function = {
    my_func: function this_func(a) {
        this_func(a);
    }
}

您也可以使用其全名:

exports.function = {
    my_func: function(a) {
        exports.function.my_func(a);
    }
}

答案 1 :(得分:0)

作为标准,这不是很好,但您可以轻松实现这一点:

var foo = function(a) {
    foo(a);
}
exports.functions = {my_func: foo};

你的代码不起作用,因为在这种情况下,吊装没有完成(好吧,它已经完成)但不是你需要的。