我在 IE8 中遇到这个错误:
对象不支持此属性或方法
在这条线上。
this.results.forEach(function(a){if(!a.views){a.views=0}})
我是 sifr 的新手,也是 Javascript 的新手,所以我不确定在这里该做什么。如果有人能指出我“有帮助”的方向,那就太好了。
最佳答案
到目前为止,在任何版本的 IE 中,您都没有在数组上获得 forEach
方法。 Array.prototype.forEach
是一个 ECMA-262 第五版功能,您不能依赖它的可用性:浏览器支持基线是第三版,其中没有 map
、filter
、forEach
甚至数组上的 indexOf
。
如果您愿意,可以修改Array.prototype
来添加方法来纠正这个问题。参见 MDC的代码,例如。或者,如果您正在使用原型(prototype)库,就像您看起来那样,您可以使用 .each
,这对您隐藏了差异。
ECMA-262真的很难读;寻找内置类型的真正支持无处不在的基线的一个有用的地方是旧的 Netscape 4-era JavaScript reference .忽略在其他地方最好记录的 DOM 内容,但这对 JavaScript 内置类型很有用。
关于javascript - IE 8 中的 sifr 3 r436 javascript 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1526354/