科技知識動態:js如何實現遞歸函數

導讀跟大家講解下有關js如何實現遞歸函數,相信小伙伴們對這個話題應該也很關注吧,現在就為小伙伴們說說js如何實現遞歸函數,小編也收集到了有

跟大家講解下有關js如何實現遞歸函數,相信小伙伴們對這個話題應該也很關注吧,現在就為小伙伴們說說js如何實現遞歸函數,小編也收集到了有關js如何實現遞歸函數的相關資料,希望大家看到了會喜歡。

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

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

【推薦教程:JavaScript教程】

我們可以使用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如何實現遞歸函數的詳細內容,更多請關注php中文網其它相關文章!

來源:php中文網

免責聲明:本文由用戶上傳,如有侵權請聯系刪除!