javascript - IE8 数组和indexOf冲突

标签 javascript jquery

我目前使用jquery 1.8.3。我认为它将 indexOf 添加到 Array.prototype 中,所以现在我的每个数组始终包含方法 indexOf 作为第一个元素。 执行 for (var i in object) 我总是将方法 infexOf 作为我的第一个元素,它会干扰我的代码。

该错误仅发生在 IE8 上。

我想要的是从所有数组中删除这个indexOf,或者无论如何破解jquery/解决这个问题。

PS:我什至不确定是否是 jquery 导致了这个问题

谢谢。

最佳答案

除了不使用 for...in 迭代数组之外,如果必须使用 for...in,请将其与 hasOwnProperty 结合使用 判断您正在查看的属性是否确实属于相关对象,或者来自原型(prototype):

for (var prop in myObject) {
    if (myObject.hasOwnProperty(prop)) {
        // this didn't come from the prototype.
    }
}

关于javascript - IE8 数组和indexOf冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16695492/

相关文章:

jquery - 如何停止加载占位符并在 Jquery/CSS 中显示 div

javascript - 通过 json 结果在输入下附加表单验证消息

javascript - 如何使用 javascript/jquery 更改字符串?

javascript - 在 jsf 中使用 d3 图表有技巧吗?

javascript - 简单地将分割变量添加到对象中?

javascript - 如何从 ref 对象插入项目

javascript - 如何提供动态(计算的)CSS 属性

jquery - 如何将两个元素上的两个事件绑定(bind)到jquery中的一个函数?

Jquery 自动完成动态文本框问题

javascript - Ajax 表单提交设置 enctype