位置: 编程技术 - 正文

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

  • 车辆购置税计入固定资产入账价值吗
  • 中国的税收制度是什么
  • 借贷利息怎么算
  • 个人出租如何交税
  • 小规模纳税人购入和销售的增值税
  • 企业当年发放以往年度工资
  • 外汇结汇成人民币违法吗
  • 资产负债表中本期盈余等于什么?
  • 委托境外研发费用不超过境内符合条件的研发费用
  • 转让旧房增值税计税依据
  • 抵押贷款合同印花税怎么算
  • 上个月没有结账可以做下个月的账吗
  • 应付账款是负数怎么回事
  • 有发票的福利费可以不交个税吗
  • 吸收合并税费
  • 应付账款核销法律规定
  • 一般进口货物的完税价格
  • 冲销暂估入库的会计分录
  • 城镇土地使用税征收范围
  • 进项税和销项税怎么抵扣
  • 公司开业厂商的宣传文案
  • 胆固醇为什么会高
  • 液晶显示器容易坏点
  • PHP:proc_get_status()的用法_命令行函数
  • 原材料科目是什么意思
  • hbuilderx的使用视频
  • 冰雪节上的冰雕图片
  • 小规模纳税人和一般纳税人的区别
  • react中路由有哪些常用组件
  • 车间使用的辅助材料
  • 资产月报是会计报还是出纳报
  • 前端可以用jsp写吗
  • python pyecharts
  • 比特币形式投资是否诈骗
  • 命令m文件
  • javascrapt
  • 10万以下销售额怎么算
  • 制造业属不属于第二产业
  • 所得税汇算清缴调整项目
  • 购进固定资产的进项税可以抵扣吗
  • java基础介绍
  • webpack怎么优化
  • mysqldump -s
  • 支付宝支付高速公路发票怎么打印
  • erp用友u8操作教程
  • 同一控制下企业合并和非同一控制下企业合并的区别
  • 残疾人就业保障金申报时间
  • mysql显示数据库中的表
  • 企业给灾区捐款可以抵税吗
  • 公积金发票掉了怎么办
  • 税务局核定税种需要多久
  • 除湿机计入固定费用吗
  • 减值准备的会计科目
  • 商场联营方案
  • 小规模纳税人结转增值税的账务处理
  • 去年多计提的费用
  • 单位的收入是刷卡怎么做账?
  • 车票抵扣进项税怎么计算
  • 个人付款开了公章怎么办
  • 什么是划分?划分应当遵守哪些规则?
  • sql union和join区别
  • [视频回复]
  • 怎么提升命令提示符
  • telnet root
  • centos6.5查看cpu信息
  • ubuntu20.04怎么用
  • win8.1 微软拼音设置
  • win7蓝屏代码0x0000007e
  • win7登录不进去
  • web jquery
  • android开机自启动显示界面
  • 批处理程序
  • 用Python设计一个游戏
  • js字符串转为json
  • fastcgi iis
  • 交互式shell是什么意思
  • 辽宁省电子税务局电话
  • 电子税务平台怎么开发票
  • 婚育证明可以开假的吗
  • 实名办税的法律依据
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设