array.some() 方法兼容ie8

Posted qiu2841

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了array.some() 方法兼容ie8相关的知识,希望对你有一定的参考价值。

在第 5 版时,some 被添加进 ECMA-262 标准;这样导致某些实现环境可能不支持它。你可以把下面的代码插入到脚本的开头来解决此问题,从而允许在那些没有原生支持它的实现环境中使用它。该算法是 ECMA-262 第 5 版中指定的算法,假定 Object 和 TypeError 拥有他们的初始值,且 fun.call 等价于 Function.prototype.call。
---------------------

 

if (!Array.prototype.some)
{
  Array.prototype.some = function(fun /*, thisArg */)
  {
    ‘use strict‘;

    if (this === void 0 || this === null)
      throw new TypeError();

    var t = Object(this);
    var len = t.length >>> 0;
    if (typeof fun !== ‘function‘)
      throw new TypeError();

    var thisArg = arguments.length >= 2 ? arguments[1] : void 0;
    for (var i = 0; i < len; i++)
    {
      if (i in t && fun.call(thisArg, t[i], i, t))
        return true;
    }

    return false;
  };
}
--------------------- 

 

以上是关于array.some() 方法兼容ie8的主要内容,如果未能解决你的问题,请参考以下文章

ie8下面margin:0 auto;不能居中的解决方案,ie8兼容性代码

ie8以下不兼容h5新标签的解决方法

一个小方法解决RGBA不兼容IE8

:before添加图片,IE8兼容

JavaScript——数组的indexOf()方法在IE8中的兼容性问题

css3 media媒体查询器用法总结 兼容ie8以下的方法