IE8中的javascript返回-对象不';不支持此属性或方法

IE8中的javascript返回-对象不';不支持此属性或方法,javascript,internet-explorer,return,Javascript,Internet Explorer,Return,这在Chrome中正常工作,但在IE8中抛出错误(可能也是7)。在返回行发生错误 这是我从这里的某个地方偷来的(我会继续努力寻找链接)。它应该确定给定对象(节点)是否是节点列表。对于这个错误有很多结果,但是对于这个案例我找不到。有什么东西向任何人扑来吗 谢谢 感谢@STLRick: Object.prototype.hasOwnProperty.call(节点,'length') 好像已经修好了!至少,它不再抛出错误。不是100%确定它是否影响了节点检查,但它在我正在运行的几个测试用例中工作 以

这在Chrome中正常工作,但在IE8中抛出错误(可能也是7)。在
返回
行发生错误

这是我从这里的某个地方偷来的(我会继续努力寻找链接)。它应该确定给定对象(
节点
)是否是节点列表。对于这个错误有很多结果,但是对于这个案例我找不到。有什么东西向任何人扑来吗

谢谢

感谢@STLRick:

Object.prototype.hasOwnProperty.call(节点,'length')


好像已经修好了!至少,它不再抛出错误。不是100%确定它是否影响了节点检查,但它在我正在运行的几个测试用例中工作

以下是我从中获得测试函数的原始文章:哪个对象不支持哪个属性或方法?此链接可能包括对您的问题的修复。虽然与检查节点列表无关,但您使用hasOwnProperty在我的记忆中触发了一些事情。在IE8中,它只适用于非主机对象,但注释中有一个变通方法:@Musa good catch,updated question.@Musa:IE实际上并没有告诉您。它就是这么说的。我想我应该把它作为一个答案而不是评论发布;)很高兴它有帮助!
var result = Object.prototype.toString.call(nodes);
return (
    typeof nodes === 'object'
    &&
    /^\[object (HTMLCollection|NodeList|Object)\]$/.test(result)
    &&
    nodes.hasOwnProperty('length')
    &&
    (nodes.length == 0 || (typeof nodes[0] === "object" && nodes[0].nodeType > 0))
)