我得到了一些客户端Javascript堆栈溢出问题,特别是在IE浏览器中,这发生在第三方库中,进行一些函数调用,由于某些原因,他们偶尔在IE中刹车,因为它的堆栈限制很低。
然后我编写了一个小的测试超文本标记语言来测试一些浏览器的堆栈大小限制,发现如果与运行Windows7操作系统、8 8Gb内存的笔记本电脑上运行的FF 7或Chrome14相比,IE8实际上有一个很小的堆栈限制:
<html>
<body>
<!-- begin Script: -->
<script type="text/javascript">
function doSomething(){
var i = 3200;
doSomethingElse(i);
}
function doSomethingElse(i){
if (i == 0) return -1;
doSomethingElse(i-1);
}
doSomething();
</script>
<!-- END OF PAGE -->
</body>
</html>
当值在3200左右时,IE会引发堆栈溢出,如果与IE相比,Firefox和Chrome可以处理非常深的递归。
我想知道是否有一种方法可以将堆栈溢出异常与在IE或任何其他浏览器中运行时引发它的Javascript函数联系起来,以及它是否可以在引发错误的时刻给出堆栈中函数链的堆栈跟踪。
https://stackoverflow.com/questions/7826992
复制相似问题