原型链基本概念
所有的引用类型(数组、函数、对象)可以自由扩展属性(除null以外)。
所有的引用类型都有一个’_ _ proto_ _'属性(也叫隐式原型,它是一个普通的对象)。
每个通过构造器创建的对象,也就是原型链最低端的对象会有一个 __proto__的属性
这个属性指向它的构造器的prototype,
而构造器的prototype有两个属性
一个是constructor 指向构造器本身
一个也是__proto__指向Object.prototype
举例
有一个function Person(){}构造器
var lin = new Person();
那么就有如下的链式调用关系
lin.__proto__ == Person.prototype;
lin.__proto__.constructor == Person.prototype.constructor