亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

關于js prototype的問題

關于js prototype的問題

HUWWW 2019-04-06 16:57:32
在Mozilla/Konqueror的瀏覽器中,對象的__proto__屬性指向creatorfunction的prototype屬性那下面這段代碼,如何解釋functionfoo(){}bar=newfoo();foo.prototype=newObject();foo.prototype.constructor現在是Object()照里說bar.__proto__.constructor也應該是Object()但是實際上,我測試下來,bar.__proto__.constructor卻仍舊是foo請幫我指出問題出在哪?Thanks
查看完整描述

2 回答

?
撒科打諢

TA貢獻1934條經驗 獲得超2個贊

嚴格來說,__proto__指向的不是prototype,而是指向prototype所指向的那個對象。你創建了一個函數對象foo。所以,foo.prototype指向一個Object對象:1:functionfoo(){}然后,以foo對象為原型創建了一個bar對象。所以,bar.__proto__指向foo.prototype所指向的這個對象,也就是指向同一個Object對象:2:bar=newfoo();最后,讓foo.prototype指向一個新的Object對象。注意,此時,bar.__proto__并沒有人去修改它,仍然指向原來的Object對象:3:foo.prototype=newObject();我是看圖說話分割線執行完bar=newfoo();后,是這樣:foo.prototypebar.__proto__
\/
\/
\/
\/
Object而不是這樣:bar.___proto___
|
|
foo.prototype
|
|
Object
                            
查看完整回答
反對 回復 2019-04-06
?
阿晨1998

TA貢獻2037條經驗 獲得超6個贊

沒人回答,我杜撰一個吧:
bar.__proto__引用的是foo{},并不是引用foo.prototype,
雖然改了foo.prototype,但是并不影響bar._proto__引用foo{}
                            
查看完整回答
反對 回復 2019-04-06
  • 2 回答
  • 0 關注
  • 285 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

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

公眾號

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