当前位置: 首页 > news >正文

JavaScript 手写仿instanceof

定义

MDN 中,描述是这样的。
instanceof 运算符用来检测 constructor.prototype 是否存在于参数 object 的原型链上。

实现一个仿instanceof功能的"_instanceof"函数,该函数可以判断首参的原型链中是否在第二个Fn构造函数的原型的 prototype 属性,核心步骤有:

  1. 获取首个对象参数的原型对象
  2. 获取Fn函数的原型对象
  3. 进入死循环,当两个参数的原型对象相等时返回true
  4. 当两个参数的原型对象不相等时获取首个对象参数原型的原型并且循环该步骤直到null时返回false
const _instanceof = (target, Fn) => {let proto = target.__proto__let prototype = Fn.prototypewhile(true) {if(proto === Fn.prototype) return trueif(proto === null) return falseproto = proto.__proto__}
}

这里要了解一下原型与原型链。


http://www.mrgr.cn/news/10339.html

相关文章:

  • Blazor开发框架Known-V2.0.9
  • 如何用Python Django构建二手房房价预测与知识图谱系统?
  • 磁场强度H和磁感应强度B,磁化强度M和磁极化强度J
  • HarmonyOS--认证服务-操作步骤
  • 2024.8.22(Docker)
  • Ubuntu 20.04安装中文输入法
  • 探索Unity3D URP后处理在UI控件Image上的应用
  • el-input按回车 界面自动刷新
  • 【ORACLE】Oracle 表空间查询
  • 导入TXT文件到MySQL数据库:Java通用方法详解
  • 【3】静态路由(Static routing)
  • ( 基于SystemView软件)AM调制与解调仿真实验
  • Springcloud从零开始---Service业务模块(三)
  • 公园的客流统计意义何在,有哪些积极作用
  • 【计算机网络】网络版本计算器
  • 贪心处理任务(华为od机考题)
  • 打卡50天------图论
  • SqlUtils 工具类
  • 如何在IDEA中实现输入中文直接变成规范的英文类名,一笑插件给你解决~
  • Session Cookie Jwt Token常见web授权