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

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

js原型問題

js原型問題

胡說叔叔 2018-10-16 21:44:19
如圖,1、不實例化base直接base.prototype也行?2、prototype是什么意思?base.prototype是base的兒子?3、_proto_是什么意思?base._proto_是base的父親?是對象?
查看完整描述

1 回答

?
三國紛爭

TA貢獻1804條經驗 獲得超7個贊

base.prototypebase的原型對象。該對象上會有一個constructor屬性指向base。但是你的例子中,把base.prototype替換為一個新的對象,所以它的上面沒有了constructor屬性,通常最好的做法還是要把這個加回來。即:

base.prototype = {
    constructor: base,
    $id: function(id){return id}
}

var a = new base()時,會創建一個新的對象a,該對象可以理解為繼承自base.prototype$id方法在對象a上沒有,就回從原型對象中去找。
對象a內部有一個屬性__proto__會指向它的原型對象。

base本身是個函數實例,所以它的base.__proto__指向的是Function.prototype。所以

Function.prototype.a = 5base.a //5

總的來說:
base.__proto__可以理解為是base的父親,是一個對象。但base.prototype不可以理解為base的兒子,但它倆之間有千絲萬縷的關系。


查看完整回答
反對 回復 2018-11-03
  • 1 回答
  • 0 關注
  • 566 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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