/**
* 原型模式
* 1、优点
* a、可以让所有的实例对象共享它所包含的属性、方法
* 因为这些属性、方法是绑定在实例对象中的 __proto__ 属性上的
* __proto__ 属性这个指针指向的就是构造函数自身
*/
function PrototypeMode () { }
PrototypeMode.prototype.name = 'tang'
PrototypeMode.prototype.sex = 'man'
PrototypeMode.prototype.job = 'web design'
PrototypeMode.prototype.speak = function () {
console.log('hello...')
}
// 对象实例共享数据
const p1 = new PrototypeMode()
const p2 = new PrototypeMode()
console.log(p1)
console.log(p1.speak === p2.speak) // true
console.log(p1.name === p2.name) // true
p1 打印如下
image.png
构造函数、构造函数实例对象、构造函数原型属性 之间的关系
image.png