手写instanceof方法

instanceof 运算符用于检测构造函数的 prototype 属性是否出现在某个实例对象的原型链上。

语法

object instanceof constructor

参数

object 某个实例对象
constructor 某个构造函数

实现步骤

  1. 首先获取对象的原型
  2. 然后获取构造函数的原型
  3. 循环判断对象的原型是否等于构造函数的原型,直到对象的原型为null。任何原型链的终点都为null
function myInstanceof(obj,constructor){
	let proto=Object.getPrototypeOf(obj);//获取对象的原型 
	let prototype=constructor.prototype;//获取构造函数的原型
	//循环判断
	while(true){
		if(proto===null){
			return false;
		}
		if(proto===prototype){
			return true;
		}
		proto=Object.getPrototypeOf(proto);
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值