- JavaScript從入門到精通(微視頻精編版)
- 明日科技
- 375字
- 2020-09-01 15:02:25
4.5 遞歸函數

視頻講解
所謂遞歸函數就是函數在自身的函數體內調用自身,使用遞歸函數時一定要當心,處理不當會使程序進入死循環,遞歸函數只在特定的情況下使用,如處理階乘問題。
語法如下:
function 函數名(參數1){ 函數名(參數2); }
例如,使用遞歸函數取得10!的值,其中10!=10*9!,而9!=9*8!,以此類推,最后1!=1,這樣的數學公式在JavaScript程序中可以很容易使用函數進行描述,可以使用f(n)表示n!的值,當1<n<10時,f(n)=n*f(n-1),當n≤1時,f(n)=1。代碼如下:
01 function f(num){ //定義遞歸函數 02 if(num<=1){ //如果參數num的值小于等于1 03 return 1; //返回1 04 }else{ 05 return f(num-1)*num; //調用遞歸函數 06 } 07 } 08 alert("10!的結果為:"+f(10)); //調用函數輸出10的階乘
本實例運行結果如圖4.11所示。

圖4.11 輸出10的階乘
在定義遞歸函數時需要兩個必要條件。
包括一個結束遞歸的條件。
如上面示例中的if(num<=1)語句,如果滿足條件則執行“return 1;”語句,不再遞歸。
包括一個遞歸調用語句。
如上面示例中的“return f(num-1)*num;”語句,用于實現調用遞歸函數。
推薦閱讀
- C語言程序設計案例教程
- Instant Testing with CasperJS
- Vue.js快跑:構建觸手可及的高性能Web應用
- Unity 2020 Mobile Game Development
- GitLab Repository Management
- 游戲程序設計教程
- Learning Network Forensics
- INSTANT Yii 1.1 Application Development Starter
- Visual Basic程序設計全程指南
- Python應用與實戰
- Python Linux系統管理與自動化運維
- Hands-On ROS for Robotics Programming
- C# 10核心技術指南
- Python Business Intelligence Cookbook
- Learning Java Lambdas