[1, 2 ,3, 4].forEach(alert);
等同于下面这个for循环
var array = [1, 2, 3, 4];
for (var k = 0, length = array.length; k < length; k++) {
alert(array[k]);
}
forEach方法中的function回调支持3个参数,第1个是遍历的数组内容;第2个是对应的数组索引,第3个是数组本身。
[].forEach(function(value, index, array) {
// ...
});
对比jQuery中的$.each方法:
$.each([], function(index, value, array) {
// ...
});
第1个和第2个参数正好相反!
若浏览器不支持,可从Array原型扩展可以实现以上全部功能。
if (typeof Array.prototype.forEach != "function") {
Array.prototype.forEach = function() {
/* 实现 */
};
}