位置: 编程技术 - 正文

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

  • 汇算清缴需要做分录吗
  • 车辆出现质量问题
  • 税务ukey如何清卡
  • 税收实体法和程序法分类
  • 购税盘需要什么东西
  • 进口货物销售不开票
  • 开发票时怎么操作收款人 复核人 开票人
  • 什么发票可以做替票
  • 股东以外的人投资怎么做账
  • 特许权使用费增值税征收品目
  • 打样费单位是什么
  • 公司办理食品许可证
  • 宾馆收入应按什么计算
  • 房地产开发企业会计科目
  • 企业代扣代缴的个人所得税应通过税金及附加科目核算
  • 小规模纳税人开专票
  • 开票资料填写
  • 增值税减少在借方还是贷方
  • 小微企业计算公式
  • 合营安排与共同安排区别
  • 企业向国有银行贷款的利率
  • 多缴税款如何办理退税
  • 工资非自然月怎么计算
  • 往来款现金流量表怎么填
  • 空调计入什么会计科目二级
  • 华为鸿蒙系统的服务
  • xp系统为什么电脑不能用
  • 网络命令netstat
  • 商场充值卡发票在哪开
  • 未分配利润转增股本交印花税
  • 怎样做好固定资产管理工作
  • 购入固定资产后海通融资怎么办
  • 返还保证金的法律依据
  • powerremind.exe
  • 跨省异地施工
  • 税务局要求小规模纳税人开专票
  • 因质量问题收取停工通知
  • 在代开发票时已经预缴个人所得税了,怎么处理?
  • thinkphp获取数据库数据
  • 计算机视觉的未来发展方向有哪些
  • 命令行 压缩
  • c++怎么创建文件夹
  • 库存盘点差异会计分录
  • 本月确认收入 发票下月开
  • phpcms v9搬家不同步怎么办
  • 善意取得虚开发票罪认定
  • 中小企业发展专项资金亮点 免申即享
  • 小微企业增值税减免政策
  • 不反写会影响开票吗
  • 金税四期对增值税专票
  • 工程在建工程转固清单
  • 注册工贸公司要多少资金
  • 法人网上变更流程
  • 小规模纳税人可以抵税吗
  • 新成立的公司都是小微企业吗
  • 国际贸易单证有什么制单要求
  • MySQL ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO) 的原因分解决办法
  • 系统存储过程以什么开头
  • win7全屏游戏怎么窗口化
  • dwm exe是什么
  • win8快捷方式
  • windows升级10
  • init systemd
  • 服务器centos7
  • 电脑windows自动关闭
  • 深入理解关于教育两个大计
  • javascript中的判断语句
  • jquery与ajax获取特殊字符实例详解
  • unity怎么把文件导入项目
  • java使用jni
  • python中列表的遍历
  • 基础的重要性
  • js原生dialog
  • python lambda的用法
  • jquery插件大全
  • 小规模纳税人营业额
  • 云南税务总局官网
  • 土地增值税扣除项目金额怎么计算
  • 忘记了密码怎么打开手机
  • 企业税收有哪些税种
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设