instanceOf方法:可以用来准确判断复杂引用类型,但是不能判断基础数据类型,该方法返回一个布尔值
实现原理:利用原型链知识
实现代码如下:
<script> function myinstanceOf(target,classname){ //利用p当指针复制需要判断的对象 let p=target; while(p){ //如果p指针等于calss的显式原型,返回true if(p==classname.prototype){ return true; } //如果没找到,就让指针指向继续往上一层找 p=p.__proto__ } return false } console.log(myinstanceOf('ynline',Object)) console.log(myinstanceOf([1,2,3],Array)) </script>
浏览器控制台输出结果:
思路导图: