码迷,mamicode.com
首页 > 其他好文 > 详细

array.some() 方法兼容ie8

时间:2019-03-14 12:00:28      阅读:411      评论:0      收藏:0      [点我收藏+]

标签:环境   兼容   允许   typeof   实现   row   argument   .so   use   

在第 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

标签:环境   兼容   允许   typeof   实现   row   argument   .so   use   

原文地址:https://www.cnblogs.com/qiu2841/p/10529288.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!