根据代码理解原型对象的工作原理:
constructor属于原型对象,指向构造函数
prototype属于构造函数,指向原型对象
__proto__属于实例对象,指向原型对象
//构造函数
function Person(name, age) {
this.name = name
this.age = age
}
//在原型对象里进行定义方法
Person.prototype.learn = function () {
console.log('I can do it!');
}
Person.prototype.eat = function () {
console.log('谁还不是个吃货了');
}
/*解析new 过程:
创建对象
this 指向对象
对象赋值
return 带回*/
//实例对象
let son = new Person('lisa', 25)
son.learn()
Person.prototype===son.proto //true
son.name //属性调用方法
son.learn()//原型对象中的方法调用方法