Ответ 1
Найдено здесь: http://perfectionkills.com/whats-wrong-with-extending-the-dom/
ECMA-262 3rd. изд:
Хост-объекты могут реализовывать эти внутренние методы с помощью любых поведение, зависящее от реализации, или может быть, что объект-хост реализует только некоторые внутренние методы, а не другие.
В описании внутренних методов упоминаются [[Get]], [[Put]], [[Delete]] и т.д. Обратите внимание, как говорится, что поведение внутренних методов зависит от реализации. Это означает, что для объекта-хозяина абсолютно нормально запускать ошибку при вызове, скажем, метода [[Get]].
Итак, IE не нарушает спецификацию. Поведение совместимо, и все встроенные функции, которые не являются частью языка JavaScript, работают так. Вы не можете назначать им свойства, у них нет прототипов и конструкторов.
Примеры:
alert;
scrollTo;
document.getElementById;
location.reload;
setTimeout;