javascript instanceof()方法原理

  instanceof()方法用于确定实例与原型之间的关系。

  例子:

function SuperType(){
	this.property = "father";
}
SuperType.prototype.getProperty= function(){
	console.log("property:"+this.property);
			
};
function SubType(){
	this.property = "son";
}
SubType.prototype = new SuperType();
var son = new SubType();
//确定原型和实例之间的关系
console.log(son instanceof SubType);
console.log(son instanceof SuperType);
console.log(son instanceof Object);

  结果:

  

  从结果可知,只要构造函数(参数2)存在于实例(参数1)的原型链中,就会返回true。

  instanceof()方法的工作机制是:沿着实例(参数1)的__proto__这条线来找,同时沿着构造函数(参数2)的prototype这条线来找,如果两条线能找到同一个引用,即同一个对象,那么就返回true。如果找到终点还未重合,则返回false。

  

posted @ 2016-07-27 12:34  一个悬浮在空中的胖子  阅读(494)  评论(0编辑  收藏  举报