什么是构造函数的原型?

时间:2014-11-19 14:15:09

标签: javascript

说,我有一个名为MyClass的构造函数。我从中创建了一个对象objobj继承自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

2 个答案:

答案 0 :(得分:2)

  

MyClass.prototype来自哪里?

创建函数对象(MyClass)时implicitly created

  

它只是一个具有constructor属性的普通对象吗?

是的,确切地说。仅此而已,不涉及任何魔法: - )

答案 1 :(得分:0)

  • MyClass.prototype只是一个具有构造函数方法(属性)的对象。
  • 一旦使用new运算符创建对象,也会创建一个protype,并且使用new运算符调用的构造函数将成为其属性/方法