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

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

一個原型鏈繼承的筆試題

一個原型鏈繼承的筆試題

不負相思意 2019-05-14 09:40:52
functionfoo(){};functionbar(){return{method:function(){}};};foo.prototype=newbar();console.log(foo.prototypeinstanceofbar);//false為什么上面的判斷返回false?我自己試了一下,如果把bar()里面的return內容去掉就返回true,請教一下大神們?yōu)槭裁矗縡unctionfoo(){};functionbar(){};foo.prototype=newbar();console.log(foo.prototypeinstanceofbar);//true
查看完整描述

2 回答

?
吃雞游戲

TA貢獻1829條經(jīng)驗 獲得超7個贊

構造函數(shù)如果有return,那么return內容就是構造函數(shù)的返回值,所以這里foo.prototype實際上是個bar返回的對象,constructor是Object構造函數(shù)而不是bar函數(shù)
                            
查看完整回答
反對 回復 2019-05-14
?
慕森王

TA貢獻1777條經(jīng)驗 獲得超3個贊

補充一下,樓主要去深入理解一下instanceof具體是通過什么來判斷,上面的筆試題可以簡化為:
functionbar(){
return{
method:function(){}
}
};
console.log(newbar()instanceofbar);
或者
console.log({method:function(){}}instanceofbar);
instanceof的本質是什么呢?ainstanceofb就等價于myInstanceof(a,b)
functionmyInstanceof(obj,fn){
vargetPrototypeOf=Object.getPrototypeOf;
varproto=obj;
while(getPrototypeOf&&getPrototypeOf(proto)||proto.__proto__){
if(proto===fn.prototype){
returntrue;
}
}
returnfalse;
}
                            
查看完整回答
反對 回復 2019-05-14
  • 2 回答
  • 0 關注
  • 813 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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