//1. 每一个函数都自带一个prototype【原型】。 // 注意:对象拥有__proto__ //2. new Fun 该Fun构造函数的原型指向于对象(new Fun)的原型 function Fun(){ // this.a = '在Fun函数中添加的'; } // Fun.prototype.a = '这是Fun原型添加的'; let obj = new Fun(); // obj.a = '对象本身'; // obj.__proto__.a = '这是对象原型添加的'; Object.prototype.a = '这是Object添加的' console.log(obj.a); //查找顺序-现在对象本身查找->构造函数中查找->对象原型上查找->构造函数原型上查找->沿着构造函数上的原型链上往上继续查找 console.log( Fun.prototype == obj.__proto__ );