实列和实列的之间关联,就需要 instanceof 来进来判断
instanceof 是用来检查构造函数是否存在原型方法
function A(){};
let a=new A();
a 是 A(){}的 a的原型上肯定有 A.prototype A上级的原型是 object,对象的object.prototype 是null
image.png image.png//原型之间的继承
function A(){};
function B(){};
function C(){};
let c=new C();
B.prototype=c;
let b=new B();
A.prototype=b;
let a=new A();
console.dir(a);
console.dir(b);
console.log(c);
//instanceof 是用来检查 a的原型上是否有A方法
console.log(a instanceof C)
A.prototype指向了b,b就有了的A.protptype,然后B.prototype指向了c,C就有了B的protype,c指向了构造函数的C.prototype
image.png构造函数通过原型的方式,直接继承了c
image.png
我们还遇到一种情况,就是想看看b的prototype上是否有A,
console.log(b instanceof A)
image.png
看上图b的原型向上找,是找不到A的,看图,b的原型只有c
image.png
网友评论