Ere*_*evi 2 javascript recursion node.js
为了进行比较,我正在编写某个递归函数的几个相似版本.我的函数看起来像这样:
function rec1(n) {
/* some code */
rec1(n-1);
}
Run Code Online (Sandbox Code Playgroud)
然后,要创建另一个版本,我复制并粘贴并获取:
function rec2(n) {
/* some other code */
rec2(n-1);
}
Run Code Online (Sandbox Code Playgroud)
等等
我不知道是否有某种方法可以引用"当前函数"(就像在Unix脚本中一样,可以使用$ 0引用"当前脚本")而不必更改每个版本中函数的名称.变量),以便我可以写:
function rec1(n) {
/* some code */
$this_function$(n-1);
}
Run Code Online (Sandbox Code Playgroud)
你可以使用arguments.callee,但它已被弃用.
更好的只是命名函数,并给它们所有相同的名称:
var rec1 = function rec(n) {
/* some code */
rec(n-1);
};
var rec2 = function rec(n) {
/* some other code */
rec(n-1);
};
Run Code Online (Sandbox Code Playgroud)
...在哪里rec作为当前函数的范围,并指向当前函数.
| 归档时间: |
|
| 查看次数: |
78 次 |
| 最近记录: |