js IE8不支持forEach的解决方案

时间:2016-02-01
我们大家都知道,在IE8及以下版本是不支持js的forEach,那么如何让IE8及以下版本支持forEach呢?本文章向大家介绍IE8不支持forEach的解决方案,需要的码农可以参考一下。

首先我们先来判断一下浏览器是否支持js的forEach,代码如下:

if (typeof Array.prototype.forEach != 'function') {
    //不支持,此时我们需要自己定义一个类似forEach功能的函数。
}

如果浏览器不支持forEach,我们就需要自己写一个foreach功能的函数。具体函数体请看下面代码:

function(callback){
      for (var i = 0; i < this.length; i++){
        callback.apply(this, [this[i], i, this]);
      }
}

所以,解决IE8不支持forEach的方法应该是这样的:

if (typeof Array.prototype.forEach != 'function') {
    Array.prototype.forEach = function(callback){
      for (var i = 0; i < this.length; i++){
        callback.apply(this, [this[i], i, this]);
      }
    };
}

如果你使用了js的插件,只需要将改代码放在插件代码开头即可。这样所以浏览器都支持js的foreach了。