位置: 编程技术 - 正文

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

  • 无税率的汽油卡是什么
  • 企业房产税怎么计算
  • 公司收到待报解预算收入退的款是什么
  • 计提职工非货币福利怎么算
  • 分公司预缴企业所得税总公司可以抵扣吗
  • 咨询服务费预收率怎么算
  • 专票 附加费
  • 新的企业所得税暂行条例
  • 筹资活动现金流量净额为负
  • 跨年度的银行未入账如何处理
  • 企业收到跨年度的政府补贴款,是否计入当年企业所得税
  • 重复缴税怎么做账
  • 子公司打钱给母公司
  • 餐饮管理公司设哪些科目
  • 企业年金的税收政策
  • 国家知识产权局商标注册
  • 股权转让涉及的印花税
  • 个人所得税的标准有几档
  • 小规模减免附加税会计分录怎么做
  • 收到社保补助不发放
  • 党建经费如何入账
  • 企业支付宝收款码怎么申请
  • 计提房产税的会计分录怎样做
  • 纺织厂收购棉花如何计税?
  • 计提代扣代缴个税
  • 固定资产账面价值在什么情况下会出现负值
  • 广告费递延几年
  • ThinkPHP让../Public在模板不解析(直接输出)的方法 原创
  • 电脑dat文件怎么打开
  • php字符串赋值
  • 现金付款凭证是什么意思
  • 进项发票认证后多久可以申报
  • PHP:parse_ini_file()的用法_Filesystem函数
  • 残疾人就业保障金计入什么科目
  • win11升级正式版
  • php操作json文件
  • vuejs props
  • 小微企业免征增值税政策2023
  • vue3 script setup withdefault
  • 广告模板网站
  • 汇率一般是以几位数来显示
  • 可供出售金融资产的会计处理
  • 发票未报销可以退税吗
  • 织梦怎么用
  • mongodb import
  • 个人缴纳社保部分怎么算
  • sql怎么查询个数
  • jdbc连接mysql数据库代码
  • 收到发票未收到货物
  • 赠送代金券活动方案
  • 公司亏损注销了怎么赔偿
  • 纳税对象的类型不包括
  • 出口退税分类管理三类企业
  • 利润表的所得税和所得税申报表所得税
  • 利润表期初余额怎么填
  • 辅导期一般纳税人标准
  • 员工垫付公司费用
  • 银行承兑汇票收款业务流程
  • 购房发票可以开专票
  • 固定资产报废由谁审批
  • mysql数据聚合
  • windows使用痕迹是指是什么
  • win7系统的笔记本电脑有哪些
  • linux系统的电脑如何共享
  • xp系统的存储在哪里
  • Ubuntu10.10 Zend FrameWork配置方法及helloworld显示
  • 怎么调整桌面图标间距
  • win10改服务器
  • node_
  • opengl csdn
  • 样式的使用方法
  • jq读取json
  • python 任务 调度 管理
  • python自动发邮件内容
  • document对象常用方法
  • 尽有可能的拼音
  • 容易混淆的词汇
  • 安卓网络管理类app
  • 捐赠纳税
  • 德清社保局固定电话多少
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设