91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

js實現遞歸函數的方法

發布時間:2020-08-26 10:47:11 來源:億速云 閱讀:158 作者:小新 欄目:web開發

小編給大家分享一下js實現遞歸函數的方法,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!

 js中的遞歸函數就是指的是在代碼中調用自身的函數,它具有三個特征分別是當輸入錯誤時發生終止的終止條件,基本案例它是遞歸函數的目標,遞歸即函數實現的功能

遞歸函數指的一個函數調用自身函數,接下來在文章中為大家分享的是在js中如何實現遞歸函數,具有一定的參考價值,希望對大家有所幫助。

js實現遞歸函數的方法

我們可以使用JavaScript從函數的外部或者是在其他函數中調用函數。甚至是可以從內部調用函數。當一個函數調用自身時,就稱為遞歸函數,例

<script>
  function demo(x) {
  if (x < 0) return;
  if (x === 0) return 1;
  return x * demo(x - 1);
}
console.log(demo(3));
</script>

輸出結果為:6

從上面的例子可以看出在return x * demo(x?-?1)中實際上是再次調用自身函數(demo(x-1)),但是其參數比第一次調用的參數少一個,這就是遞歸函數

遞歸函數的三大特征

終止條件

終止條件就類似于緊急制動器,它在輸入錯誤的情況可以防止遞歸,在上文的案例中“if (x < 0) return”就是設置的終止條件,所以說當輸入負數時就不會運行遞歸函數。

基本案例

基本案例就是遞歸函數的目標。基本案例通常是放在一個if語句中,在上文的案例中“if (x === 0) return 1;"就是一個基本案例,因為當x的值減少到0時就能成功的確認階乘值了

遞歸

遞歸就是實現的功能,在上例中“return x * demo(x?—?1);”就是遞歸函數實際發生的位置,將函數返回的值x乘以demo(x-1)的值就是我們最后所要求的值

例:

<script>
 function revStr(str){
 //終止條件
 //str === ''是基本案例
  if (str === '') return '';
  //遞歸
  return revStr(str.substr(1)) + str[0];
}
console.log(revStr('cat'));
</script>

輸出結果為:tac

看完了這篇文章,相信你對js實現遞歸函數的方法有了一定的了解,想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

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

js
AI

泸西县| 阳泉市| 苏尼特右旗| 平泉县| 和平区| 济南市| 玉龙| 博乐市| 康乐县| 青河县| 隆回县| 肥东县| 大厂| 南丰县| 定日县| 诸城市| 新疆| 志丹县| 林州市| 昔阳县| 海兴县| 大庆市| 许昌县| 东兴市| 黄平县| 古浪县| 泽普县| 五家渠市| 贵定县| 渝中区| 新龙县| 元阳县| 贵溪市| 广平县| 罗甸县| 南漳县| 南平市| 兴隆县| 忻城县| 广饶县| 巧家县|