Javascript 是否有方法引用当前函数?

Javascript 是否有方法引用当前函数?,javascript,node.js,recursion,Javascript,Node.js,Recursion,为了便于比较,我正在编写某个递归函数的几个类似版本。我的函数如下所示: function rec1(n) { /* some code */ rec1(n-1); } 然后,为了创建另一个版本,我复制粘贴并获得: function rec2(n) { /* some other code */ rec2(n-1); } 等等 不必在每个版本中更改函数的名称,我想知道是否有某种方法可以引用“当前函数”(就像在Unix脚本中可以使用$0变量引用“当前脚本”),

为了便于比较,我正在编写某个递归函数的几个类似版本。我的函数如下所示:

function rec1(n) {
    /* some code */

    rec1(n-1);
}
然后,为了创建另一个版本,我复制粘贴并获得:

function rec2(n) {
    /* some other code */

    rec2(n-1);
}
等等

不必在每个版本中更改函数的名称,我想知道是否有某种方法可以引用“当前函数”(就像在Unix脚本中可以使用$0变量引用“当前脚本”),这样我就可以编写:

function rec1(n) {
    /* some code */

    $this_function$(n-1);
}
您可以使用,但已弃用

最好只是给他们起个相同的名字:

var rec1 = function rec(n) {
    /* some code */

    rec(n-1);
};
var rec2 = function rec(n) {
    /* some other code */

    rec(n-1);
};

…其中,
rec
是当前函数的作用域,并指向当前函数。

参数。被调用方
,但在严格模式下是禁止的。为什么不用这个名字呢?或者,如果递归调用总是在末尾,并且总是具有相同的条件,则最好创建一个函数工厂。另外,FWIW,why
arguments.callee
不推荐使用。