instanceof的实现原理

instanceof是我们经常用来判断一个实例是否属于个类型。其实现原理是,查找构造函数的原型对象是否在实例对象的原型链上,如果在返回true,如果不在返回false

function myinstanceof(L,R){
	var LP = L.__proto__;
	var RP = R.prototype;
	while(true){
		if(LP === null){
			return false;
		}
		if(LP === RP){
			return true;
		}
		LP = LP.__proto__;
	}
}
console.log(myinstanceof({},Array));

instanceof不能用来判断基本数据类型

你可能感兴趣的:(JavaScript,js,javascript,prototype)