4
我有兩個主要問題。DOM Extension/Wrapping究竟是什麼?
是否延伸
Object
這樣的數字?什麼是DOM包裝?
http://perfectionkills.com/whats-wrong-with-extending-the-dom/
閱讀這篇文章之後,我找不到任何關於DOM包裝什麼,並沒有規範和究竟是什麼,而不是DOM擴展。
我有兩個主要問題。DOM Extension/Wrapping究竟是什麼?
是否延伸Object
這樣的數字?
什麼是DOM包裝?
http://perfectionkills.com/whats-wrong-with-extending-the-dom/
閱讀這篇文章之後,我找不到任何關於DOM包裝什麼,並沒有規範和究竟是什麼,而不是DOM擴展。
沒有,Object
被指定爲JavaScript的語言的一部分,而DOM是API只有在瀏覽器環境相關的,是用來「訪問和更新文檔的內容,結構和風格」 (W3C) 。
但是,該文提供的反對DOM對象擴展的原因之一仍然適用於擴展本機類型,如Object
- 即碰撞的可能性。
包裝紙的對象指的是創建一個新對象引用原始,但是通過新的,包裝對象提供附加功能。
例如,而不是延伸的DOM元素對象與跨瀏覽器addClass
功能是這樣的:
var element = document.getElementById('someId');
element.addClass = function (className) {
...
};
可以代替定義一個包裝函數:
var ElementWrapper = function (element) {
this.element = element;
};
並添加功能到其原型:
ElementWrapper.prototype.addClass = function (className) {
...
};
而「包裹」元素ts是這樣的:
var element = document.getElementById('someId');
var wrapped = new ElementWrapper(element);
wrapped.addClass('someClass');
OH。好。謝謝。 :) – Kayla 2011-03-15 22:49:45