1: 原型链的作用是用来查找对象的属性
2: 读取对象的属性值时: 不会查找原型链, 如果当前对象没有此属性, 直接添加此属性并设置其值
3: 方法一般定义在圆形中, 属性一般通过构造函数定义在对象本身上.
function Fn() {
}
Fn.prototype.a = 'xxx'
var fn1 = new Fn();
console.log(fn1.a, fn1)
// xxx Fn {}[[Prototype]]: Objecta: "xxx"constructor: ƒ Fn()[[Prototype]]: Object
var fn2 = new Fn();
fn2.a = 'yyy'
console.log(fn1.a, fn2.a, fn2)
//xxx yyy Fn {a: "yyy"}a: "yyy"[[Prototype]]: Objecta: "xxx"constructor: ƒ Fn()[[Prototype]]: Object