1、所有函数都有原型对象;
2、构造函数创建实例化对象的时候,因为每个地址都不相同,所以会造成内存浪费;
3、需要将所有对象的公共方法或属性抽调出来,减少内存占用;
4、因为原型对象上面的方法属性是共享的,也就是所有对象都能访问,所以将公共方法或属性放在原型对象上;
5、原型对象只有一个地址,可以减少内存占用。
function Person(name) {
this.name = name,
Person.prototype.walk = function () {
console.log('走路')
}
}
const p1 = new Person('小明')
const p2 = new Person('小花')
console.log(p1.walk === p2.walk) // true