如何避免在JavaScript中超出最大调用堆栈大小

问题描述 投票:0回答:1

[这里,我期待如何解决此“超出最大调用堆栈大小”错误,我试图解决此错误,但我不能。在这段代码中,我尝试使用递归按降序计数数字。这是我的html代码:

<html>
<head>
<script src="printInfinity.js" type="text/javascript" asynce></script>
</head>
<body>
</body>
</html>

这是我的JS代码:

var i=100000;
function  print() 
{
i-=1;
console.log(i);
if(i!=0)
{
 print();
}

}
print();
stack size
1个回答
0
投票

您只是进行了太多的递归调用,并且超出了固定限制。您可以在以下位置找到这些限制:Browser Javascript Stack size limit。每个递归函数调用将一个调用添加到堆栈,浏览器不处理100.000调用。

© www.soinside.com 2019 - 2024. All rights reserved.