1: 探索 instanceof
左边的对象是否为右边类型的实例
2: instanceof 是如何判断的?
表达式: A instanceof B
A ==> 实例对象 B ===> 构造函数
如果B函数的显示原型对象在A 对象的原型链上, 返回为true, 否则返回false;
3: Function 通过new 自己产生实例
// 代码
function Foo() {};
var f1 = new Foo();
console.log(f1 instanceof Foo); // true
console.log(f1 instanceof Object); // true
实例对象都一个隐式原型 指向一个对象, 这个对象上又有一个隐式原型指向一个对象, 一次类推, 找到对象原型尽头 null
所以说B 函数的显示原型对象在 A 对象原型链上, (就是B 函数的显示原型对象是A 原型链上 ) 则返回true.