在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML/ 不太理解一個問題,構(gòu)造函數(shù)的__proto__,是啥?

不太理解一個問題,構(gòu)造函數(shù)的__proto__,是啥?

小白看完一些文章有點暈,其中不理解的一個問題就是

比如

person.__proto__是 Person.prototype

那么Person.__proto__是Function.prototype 這是為何。 那么Fuction.prototype算原型鏈中的一步嗎? 函數(shù)對象和普通對象有點分不清。求點醒。

回答
編輯回答
蝶戀花

1、首選__proto__是瀏覽器廠商實現(xiàn)的,W3C規(guī)范中并沒有這個東西。

2、它的作用就是訪問對象的原型。

3、對于js來說,一切皆對象,尤其是引用類型,更是如此。

4、所有的對象都有一個原型(null除外),函數(shù)是對象,那么函數(shù)也不例外。所以Person.__proto__就是訪問這個構(gòu)造函數(shù)的原型。

5、每一個函數(shù)都有一個prototype屬性,屬性的值也是一個對象,稱為原型對象。所以Person.prototype訪問的就是這個Person類的原型對象。

6、拋開__proto__來說,通過屬性訪問Person的原型可以這樣寫:Person.constructor.prototype。也就是說Person.contractor.prototype === Person.__proto__ //true;

7、假如實例化Person,var p = new Person();綜上所述,p.constructor === Person // true; p.constructor.prototype === Person.prototype // true;

不知道這樣解釋能理解嘛。

2018年7月22日 19:34
編輯回答
憶當年

因為構(gòu)造器函數(shù)是函數(shù)的一種,所以函數(shù)構(gòu)造器的__proto__指向Function.prototype

2017年6月6日 13:49