WEB开发网
开发学院网页设计JavaScript Javascript实例代码讲解instanceof操作符 阅读

Javascript实例代码讲解instanceof操作符

 2012-04-15 09:16:00 来源:WEB开发网   
核心提示: ClassA的原型与ClassB的原型共享同一个对象,ClassC的原型与ClassD的原型也共享一个对象,Javascript实例代码讲解instanceof操作符(4),而ClassC是ClassB的子类,ClassE是ClassD的子类,如果obj instanceof Class返回true,那么Class的

 

ClassA的原型与ClassB的原型共享同一个对象,ClassC的原型与ClassD的原型也共享一个对象,而ClassC是ClassB的子类,ClassE是ClassD的子类,而obje是ClassE的实例。所以obje的原型链的第一个原型是ClassE的原型,它是ClassD的实例,故第二个原型是ClassD的原型,也就是ClassC的原型,ClassC的原型是ClassB的实例,所以原型链上第三个原型是ClassB的原型,也就是ClassA的原型。所以,ClassA、ClassB、ClassC、ClassD与ClassE的原型都在对象obje的原型链上,所以obje是这些类的实例。这也验证了前面的结论,即如果类的原型与对象原型链上的某一个原型是同一个对象,那么instanceof运算将返回true。虽然obje是ClassA、ClassC的实例,但是它并没有ClassA的实例属性ma,ClassC的实例属性mc。

综合前面的论述与验证,我们可以得出结论,如果obj instanceof Class返回true,那么Class的原型与obj原型链上的某个原型是同一个对象,但这并不意味着obj拥有Class的所有实例属性(但肯定拥有Class的所有原型属性)。

上一页  1 2 3 4 

Tags:Javascript 实例 代码

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接