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

How to call recursively a function stored in a variable in Javascript

本文关键字:变量 函数 存储 递归 Javascript 调用      更新时间:2023-09-26

如何在Javascript中实现这一点?

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

函数表达式可以在 function 关键字后具有可选名称。此名称的作用域只是函数体,并允许递归调用它:

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

您也可以使用其全名:

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

这作为标准不太好,但您可以像这样轻松实现:

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

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