在日常工作中,会经常遍历数组,除了常用的for循环外,forEach应该也是最常用的
forEach语法
array.forEach(function(currentValue, index, arr), thisValue)
但是需要注意的是,这个方法在IE低版本中竟然不兼容,所以下面封装一个,封装代码如下:
if (!Array.prototype.forEach) { Array.prototype.forEach = function forEach(callback, thisArg) { var T, k; if (this == null) { throw new TypeError("this is null or not defined"); } var O = Object(this); var len = O.length >>> 0; if (typeof callback !== "function") { throw new TypeError(callback + " is not a function"); } if (arguments.length > 1) { T = thisArg; } k = 0; while (k < len) { var kValue; if (k in O) { kValue = O[k]; callback.call(T, kValue, k, O); } k++; } };}这里用到了prototype原型链
使用方式:
在ie8中运行正常,效果如下: