JS遞迴函式的執行

2021-10-08 01:32:14 字數 835 閱讀 5172

遞迴就是乙個函式在它的函式體內自己呼叫自己。執行遞迴函式將反覆呼叫其自身。遞迴函式必須有結束條件,否則會出現死迴圈。

當函式在一直遞推,直到遇到牆後返回,這個牆就是結束條件。

所以遞迴要有兩個要素,結束條件與遞推關係。

要實現遞迴要書寫兩個內容:

乙個是滿足結束條件的時候結束函式;

乙個是不滿足結束條件的時候要執行的**;

function

sum(

)sum()

//sum()函式呼叫sum,執行sum裡面的**,列印1,又執行sum,又列印1,又執行sum... 這種叫做死遞迴。

開始書寫:寫遞迴函式先要寫乙個結束條件(為了避免出現"死遞迴")

function

add(n)

}

再寫不滿足條件我們的遞迴處理

function

add(n)

else

}

計算1到5的階乘

function

sum(n)

else

}console.

log(

sum(5)

);

執行過程:

sum(5)

(5*sum(4))

(5*(4*sum(3)))

(5*(4*(3*sum(2))))

(5*(4*(3*(2*sum(1)))))

(5*(4*(3*2)))

(5*(4*(6)))

(5*24)

js 中斷函式執行 js如何中斷遞迴函式

如題,功能是為了生成乙個多級陣列內的某個id及他的父元素的id陣列,但是在查詢完畢以後retrun出生成的陣列結果,依然還執行了剩下的迴圈,請問要如何中斷並跳出呢 initarr id,type list arr const getclassify list,id else else if end ...

js 中斷函式執行 js如何中斷遞迴函式

如題,功能是為了生成乙個多級陣列內的某個id及他的父元素的id陣列,但是在查詢完畢以後retrun出生成的陣列結果,依然還執行了剩下的迴圈,請問要如何中斷並跳出呢 initarr id,type list arr const getclassify list,id else else if end ...

js 遞迴執行順序

函式的宣告 function getsum x return x getsum x 1 函式的呼叫 執行getsum 5 進入函式,此時的x是5,執行的是5 getsum 4 此時 等待 此時5 getsum 4 先不進行計算,先執行getsum 4 進入函式,執行的是4 getsum 3 等待,先...