- JavaScript從入門到精通(第3版)
- 明日科技
- 325字
- 2020-03-20 10:37:32
4.6 遞歸函數(shù)
所謂遞歸函數(shù)就是函數(shù)在自身的函數(shù)體內(nèi)調(diào)用自身。使用遞歸函數(shù)時一定要當(dāng)心,處理不當(dāng)將會使程序進入死循環(huán)。遞歸函數(shù)只在特定的情況下使用,如處理階乘問題。
語法格式:

參數(shù)說明:
functionName:遞歸函數(shù)名稱。
【例4.4】 遞歸函數(shù)的應(yīng)用。(實例位置:資源包\TM\sl\4\04)
本實例主要使用遞歸函數(shù)取得10!的值。其中,10!=10*9!,而9!=9*8!,依此類推,最后1!=1。這樣的數(shù)學(xué)公式在JavaScript程序中可以很容易使用函數(shù)進行描述,這里使用f(n)表示n!的值,當(dāng)1<n<10時,f(n)=n*f(n-1);當(dāng)n≤1時,f(n)=1。代碼如下:

運行結(jié)果如圖4.4所示。

圖4.4 遞歸函數(shù)的應(yīng)用
在定義遞歸函數(shù)時需要兩個必要條件:
包括一個結(jié)束遞歸的條件。
如例4.4中的“if(num<=1)”語句,如果滿足條件則執(zhí)行“return 1;”語句,不再遞歸。
包括一個遞歸調(diào)用語句。
如例4.4中的“return f(num-1)*num;”語句,用于實現(xiàn)調(diào)用遞歸函數(shù)。
推薦閱讀
- Building a Home Security System with Raspberry Pi
- Linux C/C++服務(wù)器開發(fā)實踐
- Java Web基礎(chǔ)與實例教程(第2版·微課版)
- 算法精粹:經(jīng)典計算機科學(xué)問題的Java實現(xiàn)
- INSTANT Weka How-to
- Python王者歸來
- 鋒利的SQL(第2版)
- 概率成形編碼調(diào)制技術(shù)理論及應(yīng)用
- Serverless架構(gòu)
- C語言從入門到精通
- ArcGIS for Desktop Cookbook
- Clojure for Java Developers
- Java Web應(yīng)用開發(fā)給力起飛
- SQL Server 2008中文版項目教程(第3版)
- Java7程序設(shè)計入門經(jīng)典