2011-04-03 69 views
1

我看了一篇關於Document Object Model Prototypes的文章。雖然這篇文章非常有趣,寫得非常好,但在我看來,這篇文章的實際內容在現實中並不真實。例如,下列代碼:IE8和IE9中的文檔對象模型原型

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

警報[對象HTMLDivElement]上的FireFox(和鉻類似消息),但是,IE(8和9)它提醒未定義。我也嘗試複製/粘貼帖子本身的代碼片段,但它們無法運行。 我錯過了什麼嗎?

回答

2

這是未定義的行爲。

.constructor property is bound the JavaScript .prototype。看起來FireFox和chrome具有通過JavaScript原型繼承的DOM元素,因爲IE只是在內部創建一個元素。

關於從.createElement返回的div元素是否應通過原型繼承,沒有明確的規範。您不應該對DOM節點的繼承鏈做任何假設,因爲它完全依賴於瀏覽器。