# 原型链
# 原型链图
![原型链图]['./image/yuanxing.png']
# 四个概念
- js 分为函数对象和普通对象,每个对象都有proto属性,但是只有函数对象才有 prototype 属性;
- Object、Function 都是 js 内置的函数, 类似的还有我们常用到的 Array、RegExp、Date、Boolean、Number、String
- 属性proto是一个对象,它有两个属性,constructor 和proto;
- 原型对象 prototype 有一个默认的 constructor 属性,用于记录实例是由哪个构造函数创建;
# 两个准则
准则 1:原型对象(即 Person.prototype)的 constructor 指向构造函数本身 Person.prototype.constructor == Person
准则 2:实例(即 person01)的proto和原型对象指向同一个地方 person01.proto == Person.prototype
← js技巧