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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

JavaScript extend方法的最后修改superClass.prototype.constructor

JavaScript extend方法的最后修改superClass.prototype.constructor

慕標琳琳 2019-04-19 16:11:39
該問題困擾我好久了。原書《JavaScript設計模式》,ISBN:9787115191281。代碼在42頁下方。書中寫的extend函數(shù)如下:jsfunctionextend(subClass,superClass){varF=function(){};F.prototype=superClass.prototype;subClass.prototype=newF();subClass.prototype.constructor=subClass;subClass.superclass=superClass.prototype;if(superClass.prototype.constructor==Object.prototype.constructor){superClass.prototype.constructor=superClass;}}問題是最后3行這個if語句有什么用呢?書上說,即使父類是Object也可以正常繼承,要怎么理解呢?整個extend函數(shù)中未對父類的prototype做改動,那么不加這個判斷和修改會有什么錯誤么?
查看完整描述

2 回答

?
幕布斯7119047

TA貢獻1794條經驗 獲得超8個贊

是補全完整的原型鏈吧,或者理解為一種修復,主要是擔心superClass是從別的地兒繼承過來又忘記指定constructor了,個人理解
                            
查看完整回答
反對 回復 2019-04-19
?
呼如林

TA貢獻1798條經驗 獲得超3個贊

補充樓上的:extend函數(shù)傳入了兩個參數(shù),subClass和superClass,下面簡稱sub和super。
上面的前三行完成了sup和super的繼承關系,第四行明確了構造器的指向。
但是跳出這個extend函數(shù)來看,之前傳入的super完全也可以作為其他函數(shù)對象的sub!
所以,在extend函數(shù)中,需要最后確認super的構造器指向是否正確,如果不正確,需要自己來更正。
                            
查看完整回答
反對 回復 2019-04-19
  • 2 回答
  • 0 關注
  • 322 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號