溫馨提示×

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

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

什么是js遞歸函數(shù)調(diào)用

發(fā)布時(shí)間:2021-11-05 10:30:40 來源:億速云 閱讀:203 作者:iii 欄目:開發(fā)技術(shù)

這篇文章主要介紹“什么是js遞歸函數(shù)調(diào)用”,在日常操作中,相信很多人在什么是js遞歸函數(shù)調(diào)用問題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”什么是js遞歸函數(shù)調(diào)用”的疑惑有所幫助!接下來,請(qǐng)跟著小編一起來學(xué)習(xí)吧!

  遞歸調(diào)用是一種特殊的嵌套調(diào)用,是某個(gè)函數(shù)調(diào)用自己或者是調(diào)用其他函數(shù)后再次調(diào)用自己的,只要函數(shù)之間互相調(diào)用能產(chǎn)生循環(huán)的則一定是遞歸調(diào)用,遞歸調(diào)用一種解決方案,一種是邏輯思想,將一個(gè)大工作分為逐漸減小的小工作,比如說一個(gè)和尚要搬50塊石頭,他想,只要先搬走49塊,那剩下的一塊就能搬完了,然后考慮那49塊,只要先搬走48塊,那剩下的一塊就能搬完了,遞歸是一種思想,只不過在程序中,就是依靠函數(shù)嵌套這個(gè)特性來實(shí)現(xiàn)了。

  遞歸調(diào)用基本信息

  定義

  遞歸調(diào)用就是在當(dāng)前的函數(shù)中調(diào)用當(dāng)前的函數(shù)并傳給相應(yīng)的參數(shù),這是一個(gè)動(dòng)作,這一動(dòng)作是層層進(jìn)行的,直到滿足一般情況的的時(shí)候,才停止遞歸調(diào)用,開始從最后一個(gè)遞歸調(diào)用返回。

  英文

  recursiveinvocation

  函數(shù)模型

  fun(形參){

  fun(參數(shù)值1)//第一次遞歸調(diào)用

  fun(參數(shù)值2)//第二次遞歸調(diào)用

  遞歸調(diào)用舉例

  C語(yǔ)言中的遞歸

  計(jì)算階乘的代碼

  longfact(longn)

  {

  if(n==0||n==1)return1L;

  elsereturnn*fact(n-1);

  }

  這個(gè)函數(shù)叫做fact,它自己調(diào)用自己,這個(gè)就是一個(gè)典型的遞歸調(diào)用,調(diào)用過程類似一個(gè)棧。

  注:主調(diào)函數(shù)又是被調(diào)函數(shù)。執(zhí)行遞歸函數(shù)將反復(fù)調(diào)用其自身。每調(diào)用一次就進(jìn)入新的一層。

  intf(intx)

  {

  inty;

  z=f(y);

  returnz;

  }這個(gè)函數(shù)是一個(gè)遞歸函數(shù)。但是運(yùn)行該函數(shù)將無休止地調(diào)用其自身,這當(dāng)然是不正確的。為了防止遞歸調(diào)用無終止地進(jìn)行,必須在函數(shù)內(nèi)有終止遞歸調(diào)用的手段。常用的辦法是加條件判斷,滿足某種條件后就不再作遞歸調(diào)用,然后逐層返回。下面舉例說明遞歸調(diào)用的執(zhí)行過程。

  注:鏈表在某種程度上就是遞歸的調(diào)用.

  Pascal中的遞歸

  const

  z=10000;

  var

  a:array[0..z+1]ofinteger;

  n,j,i,k:longint;

到此,關(guān)于“什么是js遞歸函數(shù)調(diào)用”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注億速云網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

js
AI