Показать сообщение отдельно
  #99 (permalink)  
Старый 02.09.2011, 22:27
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

Переопределенные constructor, toString, toLocaleString, valueOf, hasOwnProperty, propertyIsEnumerable и isPrototypeOf не становятся enumerable в IE<9, поэтому Object.keys({toString: fn}) вернет пустой массив.
Думаю toString и valueOf хорошо бы пофиксить.

___________________
offtop
Раньше этого как-то не замечал, а вот сейчас наткнулся, такое во всех браузерах:
function F() {}
F.prototype.constructor = F;
F.prototype.toString = F;

for (var key in new F) {
    alert(key);
}
constructor не становится enumerable, в отличие от toString
Ответить с цитированием