下划线.js .map 方法会中断 IE8

underscore.js .map method breaks ie8

本文关键字:中断 IE8 方法 js map 下划线      更新时间:2023-09-26

我使用骨干.js,此代码适用于所有现代浏览器,除了Internet Explorer。

var posts = postList.map(function(model){ return model.toJSON(); });

toJSON() 方法有问题,我该怎么办?

编辑:

var posts = postList.map(function(model){ return model });

没有toJSON(),仍然不起作用,也许.map方法是有罪的?

我找到了解决方案:

var posts = _.map(postsList, function(model) { return model; });

toJSON 方法是在 JavaScript 1.8.5 中引入的。

您可以将 Douglas Crockford 的 polyfill 脚本用于没有 JavaScript 1.8.5 的浏览器。

https://github.com/douglascrockford/JSON-js

对我来说

,在ie8上,答案是_.map@1.7.0迭代对象中的所有属性(postslist是哈希吗?),包括继承的Object.prototype.toString方法。这导致服务器发布如下所示的帖子:

{ a:1,b:2, /* ... */ toString:'function(){ [native code] }'}

带有一些无关紧要的换行回车符。其中的添加导致服务器窒息。