1、每个对象都有__proto__,并指向它的prototype原型对象
2、每个构造函数都有一个prototype原型对象
prototype原型对象的constructor指向构造函数本身
作用
实例对象的__proto__
指向构造函数的prototype
,从而实现继承。
prototype
对象相当于特定类型所有实例对象都可以访问的公共容器
代码如下:
function Person(name, age){
this.name = name;
this.age = age;
}
Person.prototype.newName = function(){
console.log(this.name);
}
let m1 = new Person('我是m1', 20);
let m2 = new Person('我是m2', 25);
m1.newName() // 我是m1
m2.newName() // 我是m2
m1.__proto__ === Person.prototype //true
m2.__proto__ === Person.prototype //true
m1.__proto__ === m2.__proto__ //true
Person.prototype.constructor === Person //true