instanceof运算符

2020-05-14  本文已影响0人  小麻烦爱学习

instanceof 运算符用于检测构造函数的 prototype 属性是否出现在某个实例对象的原型链

用法:
object instanceof Constructor

// 定义构造函数
function C(){}
var o = new C();
o instanceof C; // true,因为 Object.getPrototypeOf(o) === C.prototype
o instanceof Object; // true,因为 Object.prototype.isPrototypeOf(o) 返回 true
C.prototype instanceof Object // true,同上

C.prototype = {};
var o2 = new C();
o2 instanceof C; // true
o instanceof C; // false,C.prototype 指向了一个空对象,这个空对象不在 o 的原型链上.

C.prototype = Object.getPrototypeOf(o)
o instanceof C; //true
o2 instanceof C; // false

上一篇 下一篇

猜你喜欢

热点阅读