每个函数都有一个属性prototype,这个prototype的属性值是一个对象,也就是属性的集合。 里面默认有一个constructor的属性,指向了这个函数本身。 所有的引用类型,例如数组,函数,对象都是对象。都具有对象的特性,也就是可自由扩展属性(除了null)
每个对象都一个__proto__的属性(隐式原型),指向了创建该对象的构造函数的prototype.
函数是对象,对象又是函数创建的。
当我们试图得到一个对象的某一个属性的时候,如果对象本身没有这个属性,那么就会沿着他的__proto__(即它的构造函数的prototype)中寻找。
instanceof用于判断引用类型属于哪个构造函数的方法。
instanceof运算符第一个变量是一个对象A,第二个变量是一个函数B 判断规则:沿着A的__proto__这条线来找,同时沿着B的prototype这条线来找,如果两条线能够找到同一个引用, 即同一个对象返回true.如果到达终点还未重合返回false instanceof表示的是一种继承关系或原型链结构