第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

請教,直接調(diào)用Object.toString()(結(jié)果:輸出Object源碼)和Object.prototype.toString()(結(jié)果:輸出[object Object]),對于這兩種用法,以及調(diào)用的結(jié)果怎么理解?

Object.toString() 應(yīng)該是可以理解為靜態(tài)方法,類直接調(diào)用,Javascript默認(rèn)返回定義函數(shù)(或者稱類)時的源碼;那么Object.prototype.toString()呢?

正在回答

2 回答

需要搞清楚,Object.toString的toString方法,并不是Object對象上的。


Object.hasOwnProperty('toString'); // false


Object.toString方法繼承自原型,Object是函數(shù)構(gòu)造器,它的原型其實就是Function.prototype.


Object.getPrototypeOf(Object) === Function.prototype; // true


而Object.toString實際調(diào)用的,就是Function.prototype.toString;


Function.prototype.hasOwnProperty('toString'); // true

0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

tjian 提問者

謝謝@Bosn老師的回答! 關(guān)于這個問題,我又驗證了好多遍,應(yīng)該理解了:Object.toString()和Object.prototype.toString()調(diào)用的應(yīng)該是同一段代碼,結(jié)果不同主要在于Object是function類型的對象,而Object.prototype是object類型的對象。
2015-03-19 回復(fù) 有任何疑惑可以回復(fù)我~
#2

tjian 提問者

非常感謝!
2015-03-19 回復(fù) 有任何疑惑可以回復(fù)我~

在理解的過程中,還得到下面一些結(jié)論,麻煩@Bosn老師幫忙看看:

1.Object和Function本質(zhì)上都是function,它們擁有共同的構(gòu)造器(constructor),并且各自的原型鏈上有一個共同的原型(但是這并不是說它們的原型相同)。

2.prototype是"function"類型數(shù)據(jù)上才具有的屬性,繼承自Function.prototype(所有function類型的默認(rèn)原型)。

3.prototype上存放對原型的引用(原型是object類型),constructor上存放對構(gòu)造對象的函數(shù)的引用(即存放的是function類型)。

4.Object是創(chuàng)建object數(shù)據(jù)時的默認(rèn)構(gòu)造器,Function是創(chuàng)建function類型數(shù)據(jù)時的唯一默認(rèn)構(gòu)造器。

1 回復(fù) 有任何疑惑可以回復(fù)我~

舉報

0/150
提交
取消

請教,直接調(diào)用Object.toString()(結(jié)果:輸出Object源碼)和Object.prototype.toString()(結(jié)果:輸出[object Object]),對于這兩種用法,以及調(diào)用的結(jié)果怎么理解?

我要回答 關(guān)注問題
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號