[1, 2 ,3, 4].forEach(alert);
等同于下面這個(gè)for循環(huán)
var array = [1, 2, 3, 4];
for (var k = 0, length = array.length; k < length; k++) {
alert(array[k]);
}
forEach方法中的function回調(diào)支持3個(gè)參數(shù)哮幢,第1個(gè)是遍歷的數(shù)組內(nèi)容檬果;第2個(gè)是對應(yīng)的數(shù)組索引饶米,第3個(gè)是數(shù)組本身调鲸。
[].forEach(function(value, index, array) {
// ...
});
對比jQuery中的$.each方法:
$.each([], function(index, value, array) {
// ...
});
第1個(gè)和第2個(gè)參數(shù)正好相反!
若瀏覽器不支持括饶,可從Array原型擴(kuò)展可以實(shí)現(xiàn)以上全部功能。
if (typeof Array.prototype.forEach != "function") {
Array.prototype.forEach = function() {
/* 實(shí)現(xiàn) */
};
}