JS中遞歸函數(shù)
編程語(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)站的支持!
- js中遞歸函數(shù)的使用介紹
- JavaScript的遞歸之遞歸與循環(huán)示例介紹
- JS遍歷數(shù)組和對(duì)象的區(qū)別及遞歸遍歷對(duì)象、數(shù)組、屬性的方法詳解
- javascript如何用遞歸寫一個(gè)簡(jiǎn)單的樹(shù)形結(jié)構(gòu)示例
- JS遞歸遍歷對(duì)象獲得Value值方法技巧
- js 遞歸json樹(shù)實(shí)現(xiàn)根據(jù)子id查父id的方法分析
- 深入Javascript函數(shù)、遞歸與閉包(執(zhí)行環(huán)境、變量對(duì)象與作用域鏈)使用詳解
- JavaScript采用遞歸算法計(jì)算階乘實(shí)例
- 關(guān)于JavaScript遞歸經(jīng)典案例題詳析
相關(guān)文章
JavaScript使用FileSystemObject對(duì)象寫入文本文件內(nèi)容的方法
這篇文章主要介紹了JavaScript使用FileSystemObject對(duì)象寫入文本文件內(nèi)容的方法,實(shí)例分析了javascript使用ActiveXObject的技巧與常見(jiàn)問(wèn)題的解決方法,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-08-08JavaScript?中的引用類型Date?和RegExp的詳細(xì)介紹
這篇文章主要介紹了JavaScript中的引用類型Date和RegExp的詳細(xì)介紹,引用值(或者對(duì)象)是某個(gè)特定引用類型的實(shí)例,下文相關(guān)介紹,需要的小伙伴可以參考一下2022-07-07js獲取系統(tǒng)的根路徑實(shí)現(xiàn)介紹
js如何獲取系統(tǒng)的根路徑,在本文給出了詳細(xì)的方法,感興趣的朋友可以參考下,希望對(duì)大家有所幫助2013-09-09JS表格組件神器bootstrap table詳解(基礎(chǔ)版)
這篇文章主要介紹了JS表格組件神器bootstrap table,bootstrap table界面采用扁平化的風(fēng)格,用戶體驗(yàn)比較好,更好兼容各種客戶端,需要了解更多bootstrap table的朋友可以參考下2015-12-12一文詳解如何使npm-scripts更好維護(hù)的配置方法
這篇文章主要為大家介紹了如何使npm-scripts更好維護(hù)的配置方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-06-06用js實(shí)現(xiàn)隨機(jī)返回?cái)?shù)組的一個(gè)元素
js實(shí)現(xiàn)隨機(jī)返回?cái)?shù)組的一個(gè)元素,這是個(gè)奇妙的方法。適合做標(biāo)題性質(zhì)文字的隨機(jī)輪換顯示2007-08-08JS使用Promise時(shí)常見(jiàn)的5個(gè)錯(cuò)誤總結(jié)
Promise?提供了一種優(yōu)雅的方法來(lái)處理?JS?中的異步操作。這也是避免“回調(diào)地獄”的解決方案。然而,并沒(méi)有多少開(kāi)發(fā)人員了解其中的內(nèi)容。因此,許多人在實(shí)踐中往往會(huì)犯錯(cuò)誤。在本文中,介紹一下使用?promise?時(shí)的五個(gè)常見(jiàn)錯(cuò)誤,希望大家能夠避免2022-11-11