位置: 编程技术 - 正文

JavaScript的instanceof运算符学习教程

编辑:rootadmin

推荐整理分享JavaScript的instanceof运算符学习教程,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

语法

参数object:要检测的对象.constructor:某个构造函数

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

需要注意的是,如果表达式 obj instanceof Foo 返回true,则并不意味着该表达式会永远返回ture,因为Foo.prototype属性的值有可能会改变,改变之后的值很有可能不存在于obj的原型链上,这时原表达式的值就会成为false。另外一种情况下,原表达式的值也会改变,就是改变对象obj的原型链的情况,虽然在目前的ES规范中,我们只能读取对象的原型而不能改变它,但借助于非标准的__proto__魔法属性,是可以实现的。比如执行obj.__proto__ = {}之后,obj instanceof Foo就会返回false了。

instanceof和多全局对象(多个frame或多个window之间的交互)

JavaScript的instanceof运算符学习教程

在浏览器中,我们的脚本可能需要在多个窗口之间进行交互。多个窗口意味着多个全局环境,不同的全局环境拥有不同的全局对象,从而拥有不同的内置类型构造函数。这可能会引发一些问题。比如,表达式 [] instanceof window.frames[0].Array 会返回false,因为 Array.prototype !== window.frames[0].Array.prototype,因此你必须使用 Array.isArray(myObj) 或者 Object.prototype.toString.call(myObj) === "[object Array]"来判断myObj是否是数组。

示例instanceof的常规用法是判断a是否是b类型:

instanceof还能判断父类型:

Child构造函数继承自Father,实例a是Child构造的无疑,但是为何也是Father的实例呢?其实instanceof运算符的内核可以简单地用以下代码描述:

简单地说,a如果是b的实例,那么a肯定能使用b的prototype中定义的方法和属性,那么用代码表示就是a的原型链中有b.prototype取值相同的对象,于是顺着a的原型链一层层找就行了。

另外值得注意的是,String Number Boolean 以及Function等都是函数,而函数则是统一由Function构造而来的,so它们和任何单纯的函数一样,能用Function上的原型属性:

最后来简单讲讲最开始的两道题吧。

老生常谈JavaScript数组的用法 JavaScript数组简介JavaScript中的数组与其他语言中的数组是不同的,主要体现在:数组中存储的各项可以是不同类型的数据数组的大小是动态变化的,当新

浅谈javascript基础之客户端事件驱动 我们知道,面向对象发展起来后,一夜之间,几乎所有的语言都能基于对象了,JavaScript也是基于对象的语言。用户在浏览器上的行为称作事件,之后引发

javaScript知识点总结(必看篇) 1、javaScript的概念:是一种表述语言,也是一种基于对象(Object)和事件驱动(EventDriven)的,安全性好的脚本语言,运行在客户端,从而减轻服务器端的负担

标签: JavaScript的instanceof运算符学习教程

本文链接地址:https://www.jiuchutong.com/biancheng/370121.html 转载请保留说明!

上一篇:实例讲解JavaScript中instanceof运算符的用法(实例讲解命局与大运流年作用)

下一篇:老生常谈JavaScript数组的用法(老生常谈的近义词)

  • 减免税款递延收入怎么算
  • 增值税明细账用三栏式还是多栏式
  • 缴纳个税会计分录是什么
  • 公司员工社保怎么办理的
  • 应收账款待转销和应交税费待转销
  • 职工发放福利的会计处理
  • 金税盘一年
  • 资源税折算后计提怎么算
  • 租金和押金的税率
  • 垫付的医疗费保险多久可以报销
  • 银行如何做存款
  • 简易征收应纳税额计算
  • 评估价与成交价相差多少合法
  • 房地产公司房屋质量排名
  • 出口货物退回需要进口税吗
  • 季度企业所得税计算方法举例
  • 外贸企业购进固定资产进项税能留存吗
  • 企业取得的信托计划分红缴企业所得税吗
  • 增值税发票备注栏不写可以吗
  • 三公经费包括哪些支出
  • 没有把发票开给客户公司注销了怎么办
  • 采购流程会计分录怎么写
  • 出售交易性金融资产的记账凭证
  • windows 11怎么样
  • 临时工工资应该找人力资源要吗
  • centos停止发布
  • 核定征收的企业怎么交所得税
  • 销售费用税前扣除吗
  • 材料费可抵扣进项税计算
  • sysmon安装
  • 游戏运营服务是做什么的
  • ChatGPT解开了我一直以来对自动化测试的疑惑
  • 目标检测选SSD还是YOLO
  • apache php mysql开发环境安装教程
  • discuz去除底部
  • vue3.0 main.js
  • 单位购日用品计提折旧吗
  • 生产部门使用的各种机器设备属于什么会计科目
  • 增值税一般纳税人可以开普票吗
  • 公转私法人
  • 织梦官方网站
  • 人力资源公司开票税目
  • 利用职务之便谋取私利是什么罪
  • mongodb的分片集群的组成部分
  • 海关进口增值税专用缴款书稽核比对可能出现哪些结果
  • SQL Server 2005的cmd_shell组件的开启方法
  • 公司一年的账目怎样算
  • 收到退回的文化事业建设费会计分录
  • 可以以公司名义贷款吗
  • 房地产开发结转成本
  • 土地补偿费怎么算
  • 专利技术评估价值7亿
  • 油卡办理需要多久?
  • 上年的应收帐款怎么记账
  • 招待客户住宿属于什么费用
  • 工程外管核销报告范本
  • 保理融资的费用由谁承担
  • 没有期初数据会怎么样
  • 日记账公式怎么设置
  • mysql5624安装教程
  • sql数据库怎样批量添加数据
  • 安卓系统强制竖屏
  • 设置centos时区修改时间的方法
  • Red Hat Enterprise Linux 4+Nginx 0.7.47+PHP5.2+MYSQL5.0+Memcache+eAccelerator收
  • win8.1检测不到更新
  • WIN10怎么设置在平板模式下隐
  • win8怎么样的
  • win10升级补丁位置
  • linux系统开发环境
  • 自动释放池原理,本质
  • cocos2dx android横屏竖屏设置
  • bootstrap入门
  • IE hack条件写法
  • scrapy—redis
  • android入门教程
  • 安卓开发主要做什么
  • jquery 购物车
  • 国家纳税查询系统
  • 地税收税标准
  • 税务备案表付汇日期是否可以提前
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设