`
glory521521
  • 浏览: 2766 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

关于IE8下不支持数组indexOf的解决方法

 
阅读更多
在使用indexOf方法前,执行一下下面的js, 原理就是如果发现数组没有indexOf方法,会添加上这个方法。(亲测,完美解决)

复制代码 代码如下:
if (!Array.prototype.indexOf){
Array.prototype.indexOf = function(elt /*, from*/){
    var len = this.length >>> 0;
  var from = Number(arguments[1]) || 0;
    from = (from < 0) ? Math.ceil(from) : Math.floor(from);
    if (from < 0){
    from += len;
    }
  for (; from < len; from++){
      if (from in this && this[from] === elt){
      return from;
      }
    }
    return -1;
};
}
分享到:
评论

相关推荐

    终于解决了IE8不支持数组的indexOf方法

    通过这种方式,即使在不支持`indexOf`方法的浏览器如IE8中,我们也可以确保代码能够正确运行,从而实现向后兼容。这是一个常见的JavaScript跨浏览器兼容性问题的解决方案,对于需要兼容老版本浏览器的开发者来说,...

    IE8兼容性和判断IE浏览器版本

    再者,IE8中Array没有indexOf()方法,解决办法是使用循环遍历数组或使用underscore.js库。 另外,IE8中delete关键词不能用,解决办法是使用传统的DOM方法删除元素。 再次,IE8中webuploader的.refresh()方法不支持...

    JavaScript从数组的indexOf()深入之Object的Property机制

    在JavaScript中,数组可以使用Array构造函数来创建,或使用[]快速创建,这也是首选的方法。数组是继承自Object的原型,并且他对typeof没有...比如IE8以下的浏览器不支持Array的indexOf方法,为了让数组支持indexOf,我

    对象不支持indexOf属性或方法的解决方法(必看)

    然而,`indexOf` 方法并不是所有对象都支持的,尤其是在一些较旧的浏览器版本,如 IE8 及以下,它们可能不完全支持 ECMAScript 5 的新特性,因此会出现"对象不支持indexOf属性或方法"的错误。 在标题和描述中提到的...

    JavaScript从数组的indexOf()深化之Object的Property机制_.docx

    `indexOf()`方法是在ECMAScript 5中引入的,因此,在较老的浏览器如IE8及以下版本中可能不支持此方法。为了确保代码的兼容性,可以通过扩展数组原型的方式手动实现`indexOf()`方法。 **示例**: ```javascript if ...

    JavaScript 不支持 indexof 该如何解决

    为了解决IE8不支持indexOf的问题,可以通过编写一个兼容性的polyfill脚本来模拟indexOf()方法的功能。该polyfill通过扩展Array.prototype来添加indexOf方法,这样即使在不支持该方法的浏览器中,也可以调用indexOf()...

    js数组去重的方法总结

    * IE8以下不支持数组的indexOf方法 */ function uniq(array){ var temp = []; //一个新的临时数组 for(var i = 0; i &lt; array.length; i++){ if(temp.indexOf(array[i]) == -1){ temp.push(array[i]); } } ...

    为JS扩展Array.prototype.indexOf引发的问题及解决办法

    在Firefox 3.5(支持JavaScript 1.8)中,由于内置了`Array.prototype.indexOf`,所以不会输出这个自定义方法,而在只支持JavaScript 1.3的IE8中,`indexOf`被认为是用户定义的属性。 为了解决这个问题,可以利用...

    poly:IE8 和 w 的 Polyfills 以支持新的数组方法

    IE8 及更少的 polyfills 以支持新的数组方法。 下载 poly.js.min 并仅在需要时包含它。 &lt;!--insure that polyfil will be used only in IE8 or less. Poly is not needed in new browser --&gt; &lt;!--[if lt...

    JavaScript中关于indexOf的使用方法与问题小结

    在JavaScript 1.6版本之前,`indexOf`方法并未在所有浏览器中得到支持,尤其是IE浏览器在IE7和IE8中仅实现了到JavaScript 1.3版本,因此在这些旧版本的IE中尝试使用`indexOf`会抛出错误。相反,Chrome和Firefox等较...

    基于bootstrap-datetimepicker.js不支持IE8的快速解决方法

    首先,我们需要理解IE8不支持的一些现代JavaScript特性,例如`Array.prototype.indexOf()`方法。这个方法用于在一个数组中查找指定元素的索引,如果找不到则返回-1。在IE8及更早版本中,这个方法是缺失的,因此我们...

    javascript数组去重3种方法的性能测试与比较

    JavaScript的`Array.prototype.indexOf`方法在某些早期浏览器中可能存在兼容性问题,因此在实际应用中,可以考虑使用ES6的Set数据结构或者使用`Array.prototype.includes`方法来进行去重,这两个方法在现代浏览器...

    js数组去重的方法汇总

    在使用`indexOf`方法时,需要注意其在IE8及以下浏览器版本不被支持。使用`Set`和`Map`则可以得到更加简洁和现代的代码,但需要注意它们只在支持ES6的环境中可用。如果需要在老版本浏览器中实现数组去重,可以考虑...

    IE8下String的Trim()方法失效的解决方法

    虽然IE8不支持`trim()`,但支持`substring()`和`indexOf()`等方法。可以利用这些方法组合实现类似的效果: ```javascript function trim(str) { var start = str.indexOf(''); if (start == -1) start = 0; ...

    javascript数组去重的六种方法汇总

    对于不支持ECMA5标准中Array.prototype.indexOf方法的旧浏览器(如IE8-),可以通过扩展Array.prototype来添加indexOf方法。这使得即使在较老的浏览器中,也可以使用indexOf来实现去重逻辑。 6. 方法六:多重循环...

Global site tag (gtag.js) - Google Analytics