JavaScript原生实现typeof和instanceof方法
1.实现typeof方法
function myTypeof(obj){ let reg = /\s(\w+)/ //Object.prototype.toString.call()返回[object 类型],根据返回建立匹配规则 let result = reg.exec(Object.prototype.toString.call(obj)) //根据匹配规则查找 return result[0] //返回查找的第一个类型 }
参考:https://www.jianshu.com/p/3d1021e7a7c5
2.实现instanceof方法
function myInstanceof(target, origin){ let proto = target.__proto__ //取出目标的对向原型 while(proto){ //判断不为空 if(proto === origin.prototype){ //判断目标对象原型和origin的原型对象是否相同 return true } proto = proto.__proto__ //沿原型链向上查找 } return false //为空或未找到返回false }

浙公网安备 33010602011771号