JS中遞歸函數(shù)
編程語言中,函數(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
這個遞歸函數(shù)就是用函數(shù)來調(diào)用函數(shù)本身,但是這樣真的好嗎,好 接下來看這里
var another=factorical; factorical=null; console.log(another(2))//會報錯說 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)用都不會出錯。
以上所述是小編給大家介紹的JS中遞歸函數(shù),希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關文章
JavaScript使用FileSystemObject對象寫入文本文件內(nèi)容的方法
這篇文章主要介紹了JavaScript使用FileSystemObject對象寫入文本文件內(nèi)容的方法,實例分析了javascript使用ActiveXObject的技巧與常見問題的解決方法,具有一定參考借鑒價值,需要的朋友可以參考下2015-08-08JavaScript?中的引用類型Date?和RegExp的詳細介紹
這篇文章主要介紹了JavaScript中的引用類型Date和RegExp的詳細介紹,引用值(或者對象)是某個特定引用類型的實例,下文相關介紹,需要的小伙伴可以參考一下2022-07-07JS表格組件神器bootstrap table詳解(基礎版)
這篇文章主要介紹了JS表格組件神器bootstrap table,bootstrap table界面采用扁平化的風格,用戶體驗比較好,更好兼容各種客戶端,需要了解更多bootstrap table的朋友可以參考下2015-12-12