Quantcast
Channel: CNode:Node.js专业中文社区
Viewing all articles
Browse latest Browse all 14821

setTimeout的执行效率问题,递归调用适合用setTimeout吗?

$
0
0

在递归调用时调用次数很大时,会导致堆栈溢出,window的堆栈空间为1M,调用函数存储参数,变量,返回值等,占用一定空间大量的话导致溢出 我的解决办法用setTimeout 但是…问题出现了,这样会导致计算会明显滞后 function isEven(num){ if(num===0)return console.log(true); if(num===1)return cosnole.log(false); return isEven(Math.abs(num)-2); } isEven(100); //加setTimeout后 function isEven2(num){ if(num===0)return console.log(true); if(num===1)return cosnole.log(false); return setTimeout(()=>isEven2(Math.abs(num)-2)); } isEvent2(100); //时间明显变慢了,猜测是因为用setTimeout导致的. 难道setTimeout的开销挺大的吗?求解释.


Viewing all articles
Browse latest Browse all 14821

Trending Articles