Прототипы объектной модели документа в IE8 и IE9 - PullRequest
1 голос
/ 03 апреля 2011

Я прочитал пост о Прототипы объектной модели документа .Хотя этот пост очень интересный и написан очень хорошо, мне кажется, что фактическое содержание этого поста не соответствует действительности.Например, следующий код:

var div = document.createElement("div");
alert(div.constructor);

Предупреждения [объект HTMLDivElement] в FireFox (и аналогичное сообщение в Chrome), но в IE (8 и 9) он оповещает undefined .Я также попытался скопировать / вставить фрагмент кода из самого сообщения, и они не смогли запуститься.Я что-то пропустил?

1 Ответ

2 голосов
/ 03 апреля 2011

Это неопределенное поведение.

Свойство .constructor привязано к JavaScript .prototype.Похоже, что FireFox и chrome имеют элементы DOM, наследуемые через прототипы JavaScript, в то время как IE просто создает элемент внутри.

Нет точной спецификации относительно того, должен ли элемент div, возвращаемый из .createElement, наследоваться черезпрототипы.Не следует делать никаких предположений о цепочке наследования узлов DOM, поскольку она полностью зависит от браузера.

...