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

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

Object.create的實現(xiàn)方法里面return new F和new Person()有什么區(qū)別?

Object.create的實現(xiàn)方法不是很理解,F(xiàn)函數(shù)的左右是不是相當于把Student.prototype賦值為proto?老師能把這個和1、2方法區(qū)別一下嗎?

正在回答

3 回答

return new F 和 new F() 有區(qū)別嗎

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

有些父類需要傳遞參數(shù),用return new F那種只需要調(diào)用一次父類構(gòu)造函數(shù),new的話會調(diào)用2次。詳情請參考javascript高級程序設(shè)計第三版的6.3.6寄生組合式繼承

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

1、Object.create是創(chuàng)建一個空對象({}),空對象的原型指向傳遞進來的參數(shù)(Person.prototype),

? ? ? 在這個例子當中就是,Student.prototype屬性值是空對象,空對象的_proto_等于Person.prototype(空對象相當于是Person的實例,但是又不繼承Person構(gòu)造函數(shù)的屬性),

? ? ? 即Student.prototype._proto_=Person.prototype,

? ? ? 這樣Student的實例可以通過原型鏈訪問Person.prototype的方法,但又不繼承Person構(gòu)造函數(shù)的方法和屬性,可以在Student的構(gòu)造函數(shù)中通過Person.call(this,'name','age')的方法對初始屬性賦值; ??

2、第二種方法先創(chuàng)建一個空的構(gòu)造函數(shù)F,F(xiàn).prototype=proto(即傳進來的參數(shù)Person.prototype),那么這時候創(chuàng)建的F的實例,就相當于可以訪問Person.prototype的方法,但又不繼承Person構(gòu)造函數(shù)的方法和屬性,同Object.create是同樣的效果。

如果是new Person()的話,那么就擁有Person構(gòu)造函數(shù)的方法和屬性了,達不到想要的目的。

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

舉報

0/150
提交
取消

Object.create的實現(xiàn)方法里面return new F和new Person()有什么區(qū)別?

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

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

幫助反饋 APP下載

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

公眾號

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