Есть ф-ция 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. вариант без использования прототипов (при той же схеме реализации) ошибок не выдаёт. Мистика какая-то.