浏览器Javascript堆栈大小限制我得到一些客户端Javascript堆栈溢出问题,特别是在IE浏览器,这是发生在一个第三方库,作出一些功能调用,出于某些原因,他们偶尔刹车IE只是因为它的低堆栈限制。然后,我编写了一个小测试HTML来测试某些浏览器的堆栈大小限制,并发现如果与运行在Windows 7操作系统下的笔记本电脑上的FF 7或Chrome 14相比,IE8实际上有一个较小的堆栈限制,即8GB RAM:<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>IE在值约为3200时会引发堆栈溢出,与IE相比,Firefox和Chrome可以处理非常深的递归。我想知道是否有一种方法将堆栈溢出异常与在IE或任何其他浏览器中运行时引发它的Javascript函数绑定,以及在引发错误时,它是否可以使用堆栈中的函数链提供堆栈跟踪。
2 回答
慕勒3428872
TA贡献1848条经验 获得超6个赞
var i=0;function inc() { i++; inc();}inc();
Internet资源管理器
IE6:1130 IE7:2553 IE8:1475 IE9:20678 IE10:20677
Mozilla Firefox
3.6: 3000
4.0: 9015
5.0: 9015
6.0: 9015
7.0: 65533
8b3:63485 17: 50762
18: 52596
19: 52458
42: 281810
谷歌Chrome
14: 26177
15: 26168
16: 26166
25: 25090
47: 20878
51: 41753
狩猎
4: 52426
5: 65534
9: 63444
歌剧
10.10: 9999
10.62: 32631
11: 32631
12: 32631
墨色风雨
TA贡献1853条经验 获得超6个赞
添加回答
举报
0/150
提交
取消