IE浏览器apply使用时堆栈溢出

发现 var str = String.fromCharCode.apply(null,arr);时由于arr数组太长,会导致IE浏览器报出“堆栈溢出”的错误。

但谷歌浏览器不会产生这种错误。

我的理解是,其实相当于IE浏览器执行了arr.length深度的递归。导致ie堆栈溢出了。网上查IE递归据说只支持3000层,

所以我用了一个最笨的解决方法,直接写

var str='';

for(var i;i<arr.length;i++){

str+=String.fromCharCode(arr[i]);

}

自己不是专业的搞前端,一直写服务端,最近开始接手了一个Chrome向IE兼容的工作,也只能是在工作中摸索了。

扫描二维码关注公众号,回复: 504253 查看本文章

猜你喜欢

转载自sunyongce.iteye.com/blog/2281884
今日推荐