DOM初探(9)——DOM结构树

document一回车,他就代表整个文档;Document一回车,他代表的是一个函数,什么函数需要首字母大写?构造函数吧,只不过这个Document有点特殊,你不能new他,这时系统留给自己new的。那这个构造函数对咱们有什么帮助呢?

构造函数上面会有一个原型,能够给生产数来的构造函数使用,如果Document作为document的原型的话,说明在Document的prototype上,加上一个属性abc,并且属性值也是abc的话,那么document访问到abc吧!

 

这个dom结构树代表的就是一些列的继承关系。

Document不是document的直接的构造函数,跟那没关系。其实document的构造函数是HTMLDocument,那这个Document跟这个document有什么关系呢?

HTMLDocument.prototype就是document的原型,HTMLDocument.prototype等于一个对象,这个对象上面有很多属性和方法,这些属性和方法让document直接受益了,然后这个对象上面还有一个属性__proto__,这个__proto__会指向他的原型,他的原型就是Document.prototype。

        <script type="text/javascript">
            HTMLDocument.prototype = {
                __proto__ : Document.prototype
            }
        </script>

所以现在能看出来点什么关系吗?
Document.prototype是HTMLDocument.prototype的原型吧,他们之间有逐步继承的关系,这是一个原型链,首先,document继承自HTMLDocument.prototype,然后HTMLDocument.prototype继承自Document.prototype,所以刚才直接在Document.prototype写的东西也能受益到document。

document   -----à     HTMLDocument.prototype    ------à   Document.prototype

 

 

 

 

现在HTMLDocument.prototype.bcd = "123";那document.bcd也是123吧!

如果说现在Document.prototype.abc = "1",HTMLDocument.prototype.abc = "2",那,document.abc的值是什么?

2吧,就近的来。

 

 

猜你喜欢

转载自blog.csdn.net/hdq1745/article/details/87170207
DOM