爲了比較的目的,我正在編寫某個遞歸函數的幾個類似版本。我的功能是這樣的:有沒有辦法引用當前函數?
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