一、prototype (构造函数的属性)
- 原型:是所有实例的公共祖先。
Foo.prototype
二、 _ proto _ (实例对象的属性)
实例对象的属性,指向构造函数的原型对象(prototype)
function Foo() {
this.a = 1;
}
var foo = new Foo();
console.log(foo);
console.log(foo.__proto__ === Foo.prototype); //true
三、constructor
constructor 是原型对象上的属性,指向构造函数。
function Foo() {
this.a = 1;
}
var foo = new Foo();
console.log(Foo.prototype.constructor);
console.log(foo.__proto__.constructor);
结果:
通过打印可以再次证明:
foo._ proto _ 与 Foo.prototype指向同一对象