欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JS中遞歸函數(shù)

 更新時(shí)間:2016年06月17日 11:08:42   作者:小碼農(nóng)雯  
編程語(yǔ)言中,函數(shù)Func(Type a,……)直接或間接調(diào)用函數(shù)本身,則該函數(shù)稱為遞歸函數(shù)。遞歸函數(shù)不能定義為內(nèi)聯(lián)函數(shù)。這篇文章主要介紹了JS中遞歸函數(shù)的相關(guān)資料,需要的朋友可以參考下

編程語(yǔ)言中,函數(shù)Func(Type a,……)直接或間接調(diào)用函數(shù)本身,則該函數(shù)稱為遞歸函數(shù)。遞歸函數(shù)不能定義為內(nèi)聯(lián)函數(shù)。

遞歸函數(shù):

function factorical(num){
  if(num<=1){
    return 1;
  }
  else{
    return num*factorical(num-1);
  }
}
factorial(2)//2

這個(gè)遞歸函數(shù)就是用函數(shù)來(lái)調(diào)用函數(shù)本身,但是這樣真的好嗎,好 接下來(lái)看這里

var another=factorical;
factorical=null;
console.log(another(2))//會(huì)報(bào)錯(cuò)說(shuō) factorical not a function

這就是函數(shù)調(diào)用函數(shù)的弊端,那怎么解決呢,看下面

function factorical(num){
  if(num<=1){
    return 1;
  }
  else{
    return num*arguments.callee(num-1);
  }
}
var another=factorical;
factorical=null;
console.log(another(2))//2

以上 用arguments.callee去代替函數(shù)名,就可以確保函數(shù)不管怎么調(diào)用都不會(huì)出錯(cuò)。

以上所述是小編給大家介紹的JS中遞歸函數(shù),希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

相關(guān)文章

最新評(píng)論