IE 8 中的 sifr 3 r436 javascript 错误

发布于 2024-08-07 18:35:22 字数 231 浏览 2 评论 0原文

我在 IE8 中收到此错误:

对象不支持此属性或方法

此行上的

this.results.forEach(function(a){if(!a.views){a.views=0}})

。我对 sifr 很陌生,对 Javascript 也很陌生,所以我不确定在这里做什么。如果有人能给我指出一个“有用”的方向,那就太好了。

I get this error in IE8:

Object doesn't support this property or method

on this line.

this.results.forEach(function(a){if(!a.views){a.views=0}})

I am new to sifr and fairly new to Javascript so I am not sure on what to do here. If someone could point me in a "helpful" direction that would be wonderful.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

流心雨 2024-08-14 18:35:22

到目前为止,在任何版本的 IE 中,您都没有在数组上获得 forEach 方法。 Array.prototype.forEach 是 ECMA-262 第五版功能,您不能依赖它的可用性:浏览器支持基线是第三版,其中没有 mapfilterforEach 甚至数组上的 indexOf

如果您愿意,您可以通过修改 Array.prototype 添加该方法来纠正此问题。例如,请参阅 MDC 的代码。或者,如果您正在使用原型库,就像您看起来的那样,您可以使用 .each,这会向您隐藏差异。

ECMA-262 确实很难阅读;寻找内置类型的真正受支持的无处不在的基线的有用位置是旧的 Netscape 4 时代的 JavaScript 参考。忽略其他地方最好记录的 DOM 内容,但它对于 JavaScript 内置类型很有用。

You don't get a forEach method on arrays in any version of IE so far. Array.prototype.forEach is an ECMA-262 Fifth Edition feature which you can't rely on being available: the browser support baseline is Third Edition, where there is no map, filter, forEach or even indexOf on arrays.

You can correct this by hacking the Array.prototype to add the method if you like. See MDC's code, for example. Or, if you are using the prototype library, as you seem to be, you can use .each, which hides the difference from you.

ECMA-262 is really hard to read; A useful place to look for the real supported-everywhere baseline for built-in types is in the old Netscape 4-era JavaScript reference. Ignore the DOM stuff which is best documented elsewhere, but it's good for the JavaScript built-in types.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文