from MDN
object instanceof constuctor
/*
*@param object: 要检测的函数
*@param constuctor: 某个构造函数
*/
instanceof
运算符用来检测 constructor.prototype
是否存在于参数 object
的原型链上。
// 定义构造函数 function C(){} function D(){} var o = new C(); o instanceof C; // true,因为 Object.getPrototypeOf(o) === C.prototype o instanceof D; // false,因为 D.prototype不在o的原型链上 o instanceof Object; // true,因为Object.prototype.isPrototypeOf(o)返回true C.prototype instanceof Object // true,同上
getPrototypeOf()方法?