Показать сообщение отдельно
  #1 (permalink)  
Старый 29.05.2010, 21:00
Профессор
Отправить личное сообщение для exec Посмотреть профиль Найти все сообщения от exec
 
Регистрация: 21.01.2010
Сообщений: 1,022

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