原生JS实现instanceof功能

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/HHH_LLL/article/details/89877969

核心就是左边对象的__proto__的指向是否等于右边的prototype属性

function f1(left,right){
	let prototype = right.prototype;
	let proto = left.__proto__;
	while(true){
	    if(proto === prototype)
		return true;
	    if(proto === null)
	    	return false;
	    //若本次查找无结果,则沿着原型链向上查找
	    proto = proto.__proto__;
	}
}
var a=[1,2,3];
console.log(f1(a,Array));
//true

猜你喜欢

转载自blog.csdn.net/HHH_LLL/article/details/89877969