位置: 编程技术 - 正文

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数组的用法(老生常谈的近义词)

  • 企业纳税申报表怎么查询
  • 个税手续费返还要交企业所得税吗
  • 增值税发票税率13%怎么回事
  • 必要收益率的取值可以是
  • 高新技术企业亏损弥补
  • 增值税专用发票抵扣期限
  • 工会可以现金支付吗
  • 工程项目罚款收入账务处理
  • 库存商品盘点的作用表现为
  • 在电子税务里怎么查以前年度亏损数据
  • 计提代扣个人工会经费怎么做账
  • 本期准予抵减税额怎么算
  • 公司购买车库是什么费用
  • 免抵退税额账务处理流程
  • 期货交易所手续费2023
  • 工商年报中纳税总额包括工会经费吗
  • 个税更正申报需要逐月更正吗
  • 撤回和撤销是什么意思
  • 个体户小规模纳税人每月开票
  • 收的的挂靠费一般是几个点
  • 新员工15号入职交社保吗
  • 网上申报附加税怎么报
  • 企业取得代理销售发票
  • 公司注册资金抽逃
  • 支付电费的税费怎么算
  • mac设置定时任务
  • 组成计税价格用来算什么
  • PHP:oci_num_rows()的用法_Oracle函数
  • 用银行存款支付明年的财产保险费
  • win11更新补丁如何删除
  • php 面向对象
  • 公司不运营了需要注销吗
  • php ftp上传文件
  • safe software
  • 销售商品收到商业汇票一张该笔业务应编制的记账凭证是
  • 基建期土地摊销
  • 笔记本cpu温度高如何处理
  • php的数据类型主要有哪几种?
  • 零售商品盘点表填写内容
  • 增值税需不需要计提
  • php 无限级分类
  • 开出增值税发票一定要确认收入吗?
  • php导出大量数据
  • python中的查找函数
  • 销售折让销货方式有哪些
  • 数据库arc文件
  • 飞书slogan
  • 土方工程开票
  • 织梦如何做提取卡密
  • react 上下文hooks内容存储到本地
  • 将织梦dedecms转换到wordpress
  • 长期挂账的应付款怎么处理
  • mysql delete limit 使用方法详解
  • 建筑业增值税税负率
  • 装修公司进的材料怎么做分录
  • 辅导期一般纳税人什么意思
  • 会计物料超损费怎么算
  • 企业工会经费计提比例
  • 所得税汇算清缴前取得跨年发票
  • 零工发生事故算工伤吗
  • 仓储费用分配率
  • 在哪找从平台消费的人
  • 预付购买设备款
  • 管理费用业务招待费包括哪些
  • mysql 5.7.28安装
  • 电脑打开win
  • ubuntu 18.04 16.04
  • centos6.5如何安装
  • hidden word什么意思
  • exfat装win7
  • 微软系统如何恢复出厂设置
  • 装win7系统对电脑有什么要求
  • cocos lua js
  • linux shell命令的返回值
  • jquery左右滑动菜单
  • mongodb python
  • 江苏4050社保补贴政策2024
  • 内蒙古税务局发票认证
  • 江苏联通客服电话人工服务号码
  • 什么叫做免抵税额
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设