前端開發 遞迴函式

2021-09-27 05:28:53 字數 406 閱讀 4652

什麼是遞迴函式

閉包和遞迴,很多前端望而生畏,其實沒那麼難,今天我們來簡單的談一下遞迴函式,所謂的遞迴函式就是在函式體內呼叫本函式。說白了,就是自己調自己,使用遞迴函式一定要注意,處理不當就會進入死迴圈。

遞迴函式的應用

遞迴函式只有在特定的情況下使用 ,例如階乘或者時間呼叫等。

今天我們通過乙個簡單的案例來了解下遞迴函式

問:有一堆桃子,每天吃掉一半,挑出乙個壞的扔掉,第6天的時候發現還剩1個桃子,問原來有多少個桃子。

我們用遞迴函式來解決這個問題,**如下:

輸出結果為190個。

函式原理:自己呼叫自己,從後往前倒推。

階乘比如說3的階乘,就是123=6

下面是乙個求階乘的小例子:

有興趣的可以試試。2,27,43,34,25,44

前端開發常用的函式

在專案例項中,難免要做一些容錯處理或者是對例項的型別判斷,那麼就可以把這部分的判斷整理成公共的js檔案,供全域性使用。利用object.prototype.tostring.call可以判斷物件的型別 變數的兩種型別值 1 基本型別 string,number,boolean,undefined,n...

前端 尾遞迴

上回相比於迴圈,遞迴的缺陷說到,尾遞迴,那麼什麼是尾遞迴呢?百科中這麼解釋 說乙個函式中在函式末尾呼叫自己,並且該呼叫不是在表示式中,就可以稱為是尾遞迴。現在來實現乙個尾遞迴 function tailrecsum x,sum 0 return tailrecsum x 1,sum x consol...

前端開發HTML5 函式

這兩個方法的第乙個引數都為this指標指向的目標物件,他們的區別是第二個引數開始傳參的方式不同 call傳參 obj,arg2,arg3,function func a,b var obj func.call obj,2,3 6 function func func.call 2 bind 第乙個引...