位置: 编程技术 - 正文

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

  • 兴业银行汇款手续费
  • 零售环节征收消费税标准
  • 所得税汇算补提所得税会计分录
  • 工资个人所得税怎么算
  • 固定资产的处理包括
  • 注册资本 投资比例
  • 发票领购簿长什么样
  • 个税申报人员信息采集表模板
  • 总公司汇总缴纳所得税升为一般纳税人分公司受影响吗
  • 经营罚没物品增值税计算
  • 支付员工费用报销账务处理
  • 销售商品货款未收
  • 已发货未收款怎么做会计分录
  • 权益净利率如何算
  • 购买税控设备怎么抵扣
  • 资产一次性摊销
  • 营改增之后还有营业税吗
  • 税控技术服务费怎么做账
  • 虚开发票可以做进项税额转出分录吗?
  • 金税盘使用说明
  • 国内外经典案例
  • 如何在国税网站下载财务报表
  • 企业注销增值税进项核销账务处理流程
  • 非税收入的发票能抵扣吗
  • 租金不开专票合理吗
  • 计提的存货跌价准备
  • 设备安装公司如何经营
  • 测量仪器进工程成本的什么科目?
  • win10ie浏览器没有internet选项
  • 财务软件上线需注意什么
  • 资本公积主要包括哪些内容
  • 事业单位固定资产计提折旧
  • 外地预交增值税退税了如何把申报报表
  • window10如何设置休眠时间
  • 前端get请求传多个参数
  • 公司融资a轮说明什么
  • 带息应收票据计息时
  • 拼多多改地址怎么改视频
  • 注销小规模公司需要什么材料
  • 旅游业纳税筹划方案
  • php restful接口
  • 微信小程序获取位置信息的权限在哪里修改位置
  • maven安装成功命令
  • discuz如何关闭站点
  • 出口退税税率差
  • 营业外收入需要报增值税吗
  • 政府补助的核算内容有哪些
  • 公司购买黄金送客户可以取得进项抵税吗
  • python {:s}
  • 实收资本可以用于偿还借款
  • 解决在sql脚本中怎么写
  • 纳税调整调减有哪些
  • 小规模纳税人企业所得税优惠政策最新2023
  • 事业单位退休人员判缓刑最新规定
  • 发票红冲操作流程
  • 用友t3固定资产反结账的操作步骤
  • 红字发票抵扣时增值税纳税申报表如何处理
  • 应付账款增值税如何挂账
  • 收购票票样
  • 应付股利计提了长期不支付
  • 免缴教育费附加什么意思
  • 利润表的编制方法和步骤实操
  • xp系统安装程序没反应
  • xp系统 win7
  • 让你的时间更有价值
  • ubuntu 无线wifi
  • 比较常见的成语有哪些
  • linux安装php7.3
  • 无法打开opencv2
  • Win10 Mobile build 10586.338上手视频曝光
  • win7系统中怎样没有智能卡服务
  • ubuntu14.04.6安装教程
  • js调用wsdl接口
  • javascript如何学
  • windows pytorch
  • javascript sort方法排序
  • js作用域和作用域链的理解阮一峰
  • unity怎么录屏
  • python sco
  • 上海市浦东新区人民医院
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设