DIV CSS 佈局教程網

JS中遞歸函數
編輯:關於JavaScript     

編程語言中,函數Func(Type a,……)直接或間接調用函數本身,則該函數稱為遞歸函數。遞歸函數不能定義為內聯函數。

遞歸函數:

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

這個遞歸函數就是用函數來調用函數本身,但是這樣真的好嗎,好 接下來看這裡

var another=factorical;
factorical=null;
console.log(another(2))//會報錯說 factorical not a function

這就是函數調用函數的弊端,那怎麼解決呢,看下面

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去代替函數名,就可以確保函數不管怎麼調用都不會出錯。

以上所述是小編給大家介紹的JS中遞歸函數,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對網站的支持!

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved