为了比较的目的,我正在编写某个递归函数的几个类似版本。我的功能是这样的:有没有办法引用当前函数?
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);
}
'arguments.callee',虽然它在严格模式下被禁止。为什么不使用名称?或者,如果递归调用始终处于最后并且始终具有相同的条件,则可能会更好地创建函数工厂。 – 2014-09-21 16:41:16