首頁  >  文章  >  web前端  >  JS中遞迴函數

JS中遞迴函數

高洛峰
高洛峰原創
2017-02-08 15:24:431519瀏覽

程式語言中,函數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

以上用arguments.callee去代替函數名,就可以確保函數不管怎麼呼叫都不會出錯。

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


更多JS中遞歸函數相關文章請關注PHP中文網!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn