JS原型2

1.一切皆是對象,是說的一種看待問題的思想,並不是指Object所指代的具體。
2.將對象分爲普通對象和普通函數(方法)對象以及特殊函數(方法)對象。特殊函數對象指的是Object和Function,null是一個特殊值。
3.所有對象都有二個屬性,__proto__(又名隱式原型對象指針或屬性),constructor(名構造函數指針或屬性),普通函數對象和特殊函數對象還有prototype(又名顯示原型對象指針或屬性)。
4.所有對象的__proto__指向其構造函數prototype指向的對象。
5.原型鏈是指由對象的__proto__指向的對象一級一級關聯構成的鏈式結構。
6.Function特殊函數對象的prototype指向一個匿名普通對象funtion(即其函數自身表述的對象),匿名對象的構造函數是Function特殊函數對象,所以Function.__proto__=Function.prototype。
7.Function特殊函數對象抽象所有的方法,是所有方法對象的構造函數,即所有方法對象的constructor都指向它,也意味着所有方法對象的__proto__都指向它的prototype指向的匿名函數對象。
8.Object函數對象是Object對象的構造方法對象。
9.Object特殊函數對象的prototype指向一個Object實例(即其函數自身表述的對象),__proto__指向Function.prototype
10.除Object函數對象之外,所有函數對象的屬性prototype指向一個由其函數自身表述的對象(空對象),這個對象的__proto__指向一個Object對象實例,constructor指向原函數對象。
11.原型鏈最頂級對象是特殊函數對象Object的prototype指向的對象,其__proto__是一個null,表示虛無。undifined除了表示虛無,更側重於表示暫未存在。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章