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

【前端手写代码】手写instanceof方法

instanceof运算符用于判断构造函数的prototype属性是否出现在对象的原型链中的任何位置。

实现步骤:

1、首先获取类型的原型;
2、然后获取对象的原型;
3、然后一直循环判断对象的原型是否等于类型的原型,直到对象原型为null,因为原型链最终为null

具体实现:

function myInstanceof(left, right) {let proto = Object.getPrototypeOf(left),prototype = right.prototypewhile (true) {if (!proto) return false;if (proto === prototype) return trueproto = Object.getPrototypeOf(proto)}
}
// 测试
function A() { }
let a = new A()
console.log(myInstanceof(a, A)) // true

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Python 中的 NotImplemented 和 NotImplementedError
  • HTTP协议详解(一)
  • 并发编程工具集——Future(二十七)
  • 【CPS出版】2024年智能计算与数据分析国际学术会议(ICDA 2024,9月6日-8)
  • 压缩技巧:word怎么压缩到10m以下?word压缩,快速学会的5个高效方法!
  • vue el-input 输入框下拉显示匹配数据
  • 一文带你掌握C++异常处理
  • FPGA开发——数码管的使用(二)
  • 敏捷开发笔记(第14章节)--TEMPLATE METHOD模式和STRATEGY模式:继承与委托
  • 【第四节】python面向对象
  • 基于 LangChain 开发应用程序第七章-代理
  • 781页 | 2024全国数据资产政策法规汇编(可下载)
  • 富唯智能转运机器人:高效、智能、未来的选择
  • 代码随想录算法训练营第二十六天|452. 用最少数量的箭引爆气球、435. 无重叠区间、763.划分字母区间
  • 11部门公布第二批国家数字乡村试点地区名单
  • ES6指北【2】—— 箭头函数
  • 2017前端实习生面试总结
  • CEF与代理
  • Docker入门(二) - Dockerfile
  • js算法-归并排序(merge_sort)
  • Mysql优化
  • PHP 小技巧
  • Redis提升并发能力 | 从0开始构建SpringCloud微服务(2)
  • Spring Boot MyBatis配置多种数据库
  • swift基础之_对象 实例方法 对象方法。
  • v-if和v-for连用出现的问题
  • vue:响应原理
  • 阿里云购买磁盘后挂载
  • 从@property说起(二)当我们写下@property (nonatomic, weak) id obj时,我们究竟写了什么...
  • 读懂package.json -- 依赖管理
  • 对象引论
  • 人脸识别最新开发经验demo
  • 微服务核心架构梳理
  • 专访Pony.ai 楼天城:自动驾驶已经走过了“从0到1”,“规模”是行业的分水岭| 自动驾驶这十年 ...
  • (13)DroneCAN 适配器节点(一)
  • (2024,Vision-LSTM,ViL,xLSTM,ViT,ViM,双向扫描)xLSTM 作为通用视觉骨干
  • (7)svelte 教程: Props(属性)
  • (PHP)设置修改 Apache 文件根目录 (Document Root)(转帖)
  • (SERIES12)DM性能优化
  • (附源码)springboot宠物医疗服务网站 毕业设计688413
  • (附源码)ssm高校实验室 毕业设计 800008
  • (附源码)计算机毕业设计高校学生选课系统
  • (三)终结任务
  • (十八)Flink CEP 详解
  • .NET Conf 2023 回顾 – 庆祝社区、创新和 .NET 8 的发布
  • .NET Core实战项目之CMS 第十二章 开发篇-Dapper封装CURD及仓储代码生成器实现
  • .NET 分布式技术比较
  • .NET/ASP.NETMVC 深入剖析 Model元数据、HtmlHelper、自定义模板、模板的装饰者模式(二)...
  • .NET连接数据库方式
  • .net项目IIS、VS 附加进程调试
  • .Net小白的大学四年,内含面经
  • .NET中的十进制浮点类型,徐汇区网站设计
  • @antv/g6 业务场景:流程图
  • @Autowired多个相同类型bean装配问题
  • [20160902]rm -rf的惨案.txt