首先 proto 是浏览器给对象添加的属性用于指向对象的原型对象
而 prototypes 是js给函数添加的属性用于指向函数的原型对象
接下来是重点
//这是一个构造函数
function Person(name){
this.name=name
}
//这里的Person是构造函数而不是xiaomin的原型对象
let xiaomin=new Person(’小明‘);
//这个时候Person是函数拥有属性prototype
//xiamins是对象拥有属性__proto__
//Person是他原型对象的构造函数所以
console.log(Person.prototype.constructor===Person); //输出true
//xiaomin的原型对象和Person的原型对象是同一个
console.log(xiaoming.__proto__==Person.prototype); //输出true
总结:我一直认为Person就是xiaomin的原型对象,后面才理解Person是xiaomin的原型对象的构造函数,他只是用来创建xiaomin,和xiaomin其实没有直接关系