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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

oop上這節(jié)課有很多疑惑

new一個(gè)對(duì)象和object.create(xx.prototype)有什么區(qū)別?student里為什么要用person.call?

正在回答

2 回答

老師用的是組合繼承,Person是父類,Student是子類,在student里用person.call(this,參數(shù)),是構(gòu)造函數(shù)式繼承的精髓,由于call方法可以更改函數(shù)的作用環(huán)境,相當(dāng)于此時(shí)student繼承了person的所有屬性。student.prototype=object.creat(person.prototype);

student.prototype.constructor=student;

我認(rèn)為這兩句話是類氏繼承,作用等于student.prototype=new person();就是說(shuō)實(shí)例化父類創(chuàng)建一個(gè)新的對(duì)象,這個(gè)對(duì)象的__proro__指向父類.prototype,這樣就擁有父類的所有屬性,然后把這個(gè)對(duì)象賦值給student的原型對(duì)象,這樣student就繼承了person的所有屬性。

不過(guò)這樣寫的缺點(diǎn)在于,構(gòu)造函數(shù)繼承時(shí)執(zhí)行了一遍父類的構(gòu)造函數(shù),實(shí)現(xiàn)子類原型繼承的類氏繼承時(shí)又調(diào)用了一遍父類構(gòu)造函數(shù)。

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

我的理解是,new一個(gè)對(duì)象和create新建一個(gè)對(duì)象是一樣的。

new的用法是ES3的用法,object.create是ES5的用法。而且new的問(wèn)題在于遇到需要傳參數(shù)的話,不傳有可能會(huì)報(bào)錯(cuò)(暫時(shí)還沒(méi)證明)??不過(guò)老師說(shuō)的是會(huì)顯得很奇怪。

student用的是東西是person都有的所以直接用call引用person就好了省了自己重復(fù)寫同樣的東西了,用apply也可以。(我自己是上述這么理解的,既然student能用person實(shí)現(xiàn)一部分功能,為什么還要再寫一遍吶)

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

舉報(bào)

0/150
提交
取消
JavaScript深入淺出
  • 參與學(xué)習(xí)       281095    人
  • 解答問(wèn)題       1054    個(gè)

由淺入深學(xué)習(xí)JS語(yǔ)言特性,且解析JS常見(jiàn)誤區(qū),從入門到掌握

進(jìn)入課程

oop上這節(jié)課有很多疑惑

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

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

幫助反饋 APP下載

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

公眾號(hào)

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