更新時間:2021-07-20 16:52:47 來源:動力節點 瀏覽1268次
編程語言中,函數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的遞歸函數",希望對大家有幫助,想了解更多可查看JavaScript教程。動力節點在線學習教程,針對沒有任何Java基礎的讀者學習,讓你從入門到精通,主要介紹了一些Java基礎的核心知識,讓同學們更好更方便的學習和了解Java編程,感興趣的同學可以關注一下。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習