亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

函數表達式-遞歸

發布時間:2020-06-27 23:32:47 來源:網絡 閱讀:251 作者:吳金瑞 欄目:網絡安全

    

遞歸

遞歸函數是在函數通過調用自身的情況下構成的

函數表達式-遞歸

1     function factorial(num){2         if (num <=1){3             return 1;4         } else {5             return num * factorial(num-1);6         }7     }

函數表達式-遞歸

這是一個經典的遞歸階乘函數,但是下面的代碼會讓它出錯

1     var anotherFactorial = factorial;2     factorial = null;3     console.log(anotherFactorial(4));//factorial is not a function

在執行anotherFactorial()函數時,factorial已經不是函數了

arguments.callee是一個指向正在執行的函數的指針,因此何以用它來實現對函數的遞歸調用

函數表達式-遞歸

1     function factorial(num){2         if (num <=1){3             return 1;4         } else {5             return num * arguments.callee(num-1);6         }7     }

函數表達式-遞歸

但是在嚴格模式下,不能通過腳本訪問arguments.callee,訪問這個屬性會導致錯誤。不過,可以使用命名函數表達式達成相同的結果

函數表達式-遞歸

 1     var factorial = (function f(num){ 2         if (num <= 1){ 3             return 1; 4         } else { 5             return num * f(num -1); 6         } 7     }); 8  9     var anotherFactorial = factorial;10     factorial = null;11     console.log(anotherFactorial(4)); //24

函數表達式-遞歸

 



向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

微博| 怀柔区| 泸州市| 习水县| 霞浦县| 鄂伦春自治旗| 台北市| 甘洛县| 太仆寺旗| 武城县| 克什克腾旗| 昆明市| 图片| 邢台市| 蒙城县| 闽侯县| 嘉禾县| 安岳县| 阿合奇县| 沁源县| 大厂| 大理市| 灵川县| 扶沟县| 岱山县| 晋州市| 修文县| 安义县| 吐鲁番市| 贵港市| 高雄县| 阆中市| 乐亭县| 四川省| 育儿| 彭山县| 关岭| 沈阳市| 岳阳市| 昆明市| 佛教|