簡體   English   中英

什么是構造函數的原型?

[英]What is a constructor function's prototype?

說,我有一個名為MyClass的構造函數。 我用它創建了一個對象obj obj繼承自MyClass.prototype 所以這是我的問題:

MyClass.prototype來自哪里? 它只是具有constructor屬性的普通對象嗎?

感謝您的回答。

// Constructor
function MyClass() {
}

var obj = new MyClass;

// object inherits from MyClass.prototype
obj.__proto__ == MyClass.prototype;
// => true

// MyClass.prototype inherits from Object.prototype
MyClass.prototype.__proto__ == Object.prototype;
// => true

MyClass.prototype來自哪里?

它是在創建函數對象( MyClass )時隱式創建的。

它只是具有constructor屬性的普通對象嗎?

對,就是這樣。 僅此而已,沒有涉及魔術:-)

  • MyClass.prototype只是具有構造函數方法(屬性)的對象。
  • 使用新運算符創建對象后,也會創建一個原型,並且使用新運算符調用的構造函數將變為其屬性/方法

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM