您的位置:首页 > 移动开发

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

2016-03-10 11:13 746 查看

发现 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兼容的工作,也只能是在工作中摸索了。

阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: