admin管理员组文章数量:1279018
I've got some Javascript code which uses fairly deep recursion and I'd like to find out what the recursion limits in the various browsers are (i.e. the point at which the error "too much recursion" will happen).
Anyone have any solid numbers on this, by version?
I've got some Javascript code which uses fairly deep recursion and I'd like to find out what the recursion limits in the various browsers are (i.e. the point at which the error "too much recursion" will happen).
Anyone have any solid numbers on this, by version?
Share Improve this question asked May 10, 2010 at 18:06 MaciekMaciek 3,3626 gold badges30 silver badges35 bronze badges2 Answers
Reset to default 52Nicholas C. Zakas writes in his blog:
- Internet Explorer 7: 1,789
- Firefox 3: 3,000
- Chrome 1: 21,837
- Opera 9.62: 10,000
- Safari 3.2: 500
There's some more data on different browsers and OSs here.
I've created a Browserscope test to get more data. Please run it here.
Update Feb 2019:
The results above are now obsolete, but the browserscope results are updated :
- IE 11: 12,064
- Firefox 65: 20,614
- Chrome 72: 9,643
- Opera 57: 9,638
- Safari 12: 32,035
To add to the answers here, this can depend on the functions involved in the recursion, as well. For example, just adding a few parameters to the function can change the result:
var i=0;
function inc() {
i++;
inc();
}
inc();
gives me 20923, but
var i=0;
function inc(j, k, l) {
i++;
inc(l, k, j);
}
inc(1, 2, 3);
reports 13949 (tested in the console in Chromium 39). Firefox 34 gives 25085 and 13572, respectively.
Adding a try/catch block around the body of the zero-argument inc()
gives 11413 frames in Chromium and 13161 in Firefox. With both 3 arguments and the try/catch block, 8967 in Chrome and 7517 in Firefox.
My takeaway from this is that an application that works near the stack depth in a browser can probably only figure this out based on empirical measurements of functions resembling those used in the app.
本文标签:
版权声明:本文标题:javascript - What are the js recursion limits for Firefox, Chrome, Safari, IE, etc? - Stack Overflow 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1737319572a1976509.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论