Array.each — выдаёт ошибку
Есть ф-ция Array.each
Array.prototype.each = function (handler) {
for (var i = 0; i < this.length; i++) {
handler.call(this[i], i, this[i]);
}
return this;
}
Вызов функции выдаёт ошибку:
[0, 1, 2].each(function (i) {
alert(i);
}); // Uncaught exception: TypeError: Cannot convert '}
//[0, 1, 2, 3, 4, 5, 6, 7, 8]' to object
Почему? P.S. вариант без использования прототипов (при той же схеме реализации) ошибок не выдаёт. Мистика какая-то. |
Array.prototype.each = function (handler) {
for (var i = 0; i < this.length; i++) {
handler.call(this[i], i, this[i]);
}
return this;
};//не забываем писать точку с запятой
[0, 1, 2].each(function (i) {
alert(i);
});
|
Спасибо за помощь.
|
Есть же стандартный forEach.
|
Цитата:
|
Цитата:
|
А ну да.
|
Цитата:
где? покажите |
|
:blink:
Первый раз вижу. |
Цитата:
|
Цитата:
Цитата:
|
Цитата:
![]() |
В опере 10.5 и хроме 5 reduce и reduceRight есть.
|
Я когда эту табличку делал, ещё не было.
|
| Часовой пояс GMT +3, время: 16:43. |