js 有关递归简单介绍

本文探讨了递归函数的概念,强调其必须有终止条件以防止内存溢出。指出递归在JavaScript中的性能问题,由于频繁的栈帧分配可能导致内存消耗过大,可能引发栈溢出。建议避免依赖浏览器的错误处理,对递归使用需谨慎。
摘要由CSDN通过智能技术生成

递归:指调用自身的函数

重点:递归函数必须有可以终止递归调用的语句,否则会导致内存溢出

递归的性能不好,因为在递归终止前,JavaScript引擎会为每一次递归分配一块内存以存储栈帧,随着递归的深入,这个栈帧也越来越庞大,也就导致递归占用的内存越来越多,当传入factorial的数值增加到一定程度时,浏览器就会因为耗尽内存而抛出栈溢出的错误。

不要依赖于 浏览器抛出栈溢出的错误,不是所有的浏览器都会这样处理。

小例子 aaa替换为你自己起的内容。

let aaa= function bbb(num){
        return num === 10 ? 10 : num * aaa(num+1);
}
 aaa(5)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值