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

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

修改studnet.prototype整個(gè),為什么不影響已經(jīng)new了的實(shí)例?

”studnet.prototype.x這里如果只是動(dòng)態(tài)的修改studnet.prototype上面會(huì)被動(dòng)態(tài)的修改,但是如果一整個(gè)studnet.prototype都全部修改的話,并不會(huì)影響已經(jīng)new了的實(shí)例”
不懂為啥會(huì)不影響?感覺(jué)老師講的不是很明白。。。。不知道是不是我理解問(wèn)題,請(qǐng)教下!

正在回答

6 回答

可以這樣理解:bosn.__proto__和student.prototype都是引用,在創(chuàng)建bosn的時(shí)候,bosn.__proto__指向了student.prototype指向的對(duì)象,之后你修改student.prototype指向的對(duì)象,是不會(huì)影響bosn.__proto__指向的對(duì)象的

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

怯凡 提問(wèn)者

非常感謝!
2016-09-04 回復(fù) 有任何疑惑可以回復(fù)我~

因?yàn)樵趎ew一個(gè)Student類型的bosn對(duì)象實(shí)例時(shí),會(huì)將Student.prototype的值賦值給bosn._proto_,而Student.prototype的值是它所指向的那個(gè)對(duì)象的地址(對(duì)象本身存在堆內(nèi)存中),而[Student.prototype:對(duì)象地址]存在棧內(nèi)存中,當(dāng)通過(guò)Student.prototype.x修改對(duì)象時(shí),修改的是存在堆內(nèi)存的對(duì)象本身,因?yàn)閎osn._proto_存的是對(duì)象的地址,所以bosn(包括所以已創(chuàng)建或指向這個(gè)地址的對(duì)象)肯定也會(huì)跟著一起變啦。但當(dāng)你給Student.prototype賦予一個(gè)新對(duì)象的值時(shí),會(huì)在堆內(nèi)存新開辟一塊地址存放這個(gè)對(duì)象,并且將對(duì)象的地址傳給Student.prototype,所以原來(lái)的對(duì)象肯定不會(huì)跟著變啦,它們指向的都不是同一個(gè)對(duì)象。如果你能好好理解上邊這一段,你就會(huì)明白JavaScript的引用傳遞和深拷貝淺拷貝等問(wèn)題。

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

在前面的例子中 變量a和變量b的內(nèi)存中保存的是個(gè)指針(即引用),也就是說(shuō)它們所指向同一個(gè)對(duì)象。所以修改a的屬性,會(huì)影響b的屬性。但是當(dāng) a = 10; ( 或者 a = { y: 5}; ) 變量a中保存的值為5(或者引用另一個(gè)對(duì)象{ y: 5}的地址),再修改屬性就不會(huì)影響變量b了。

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

這是因?yàn)閖s的坑比特性,當(dāng)復(fù)制保存著對(duì)象的某個(gè)變量時(shí),操作的是對(duì)象的引用。但在為對(duì)象添加屬性時(shí),操作的是實(shí)際的對(duì)象。舉個(gè)例子:

var?a?=?{?x:?1?};??//?創(chuàng)建對(duì)象并將對(duì)象的引用傳遞給變量a(保存在內(nèi)存中)
var?b?=?a;?//?將對(duì)象的引用傳遞給變量b
a.x?=?2;??//?修改變量a內(nèi)存中保存的引用所指向的對(duì)象的屬性x
console.log(b.x);?//?2
a?=?10;?//?修改變量a的值
console.log(b);?//?object

這種特性僅僅限于引用類型,基本類型和其他語(yǔ)言一樣按照值傳遞。比如 a = 2 ; ? ?b = a; ? ? a = 3; ? ?console.lof(b); // 2


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

可是 改prototype中的一些就會(huì)影響到,改全部就不會(huì)影響??偢杏X(jué)怪怪的。。

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

舉個(gè)例子,一個(gè)女的生了個(gè)孩子,然后她去整容,只會(huì)影響她自己的樣子,不會(huì)影響自己孩子的樣子,這就是為啥new實(shí)例不會(huì)被修改。

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

舉報(bào)

0/150
提交
取消

修改studnet.prototype整個(gè),為什么不影響已經(jīng)new了的實(shí)例?

我要回答 關(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)