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

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

JavaScript中instanceof到底是以什么為依據(jù)呢?

JavaScript中instanceof到底是以什么為依據(jù)呢?

慕慕森 2019-04-19 16:11:45
可以查找到的資料都說"Javascript的instanceof操作符可以用來比較兩個操作數(shù)的構造函數(shù)constructor"。例如:細說JavaScript(三)我在實際中卻被搞糊涂了,請看如下代碼:functionO2(aa,bb){varaa=aa;this.bb=bb;}//1、正常情況varo2=newO2("a2","b2");console.log(o2instanceofO2);//true//2、修改了構造函數(shù)的原型對象varo4=newO2("a4","b4");O2.prototype={};console.log(o4instanceofO2);//false//3、修改了構造函數(shù)原型對象的constructor屬性varo6=newO2("a6","b6");O2.prototype.constructor=Object;console.log(o6instanceofO2);//true問題來了:為什么2中可以導致false,而3中修改了構造函數(shù)原型對象的constructor屬性卻還是可以判斷為true呢?說好的以constructor為依據(jù)呢?新問題來了:我在o4處已經(jīng)改了O2.prototype={};所以o4返回了false為什么varo6=newO2("a6","b6");之后,o6又成了true呢?原型被o4處修改之后,原型對象不就永久改變了么?
查看完整描述

2 回答

?
茅侃侃

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

依據(jù)就是原型鏈prototype!
o2instanceofO2意思是說o2.__proto__能不能在O2的原型鏈上找得到.
第二個中本來o2.__proto__===O2.prototype,但是你后面把O2.prototype改了,所以就不等了,結(jié)果自然是false;
第三個你只是改了O2.prototype中的一個屬性,沒改變O2.prototype的指向,所以返回true,
                            
查看完整回答
反對 回復 2019-04-19
  • 2 回答
  • 0 關注
  • 329 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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