位置: 编程技术 - 正文

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版开票流程
  • 北京增值税发票查验平台
  • 金税盘开票软件换电脑后怎么操作
  • 货物运输印花税减免
  • 汇算清缴补缴的企业所得税会计分录怎么写
  • 会计中级工作年限查得严么
  • 动物园的动物算野生动物吗
  • 构成业务和不构成业务的会计处理
  • 预算会计工资是应发工资还是实发工资
  • 固定收益款可以开增值税专票吗?
  • 增值税怎么纳税比率
  • 钱汇错需要退回应该怎么做分录?
  • 企业受托研发产品有哪些
  • 建筑业异地预缴税款的会计分录
  • 开旅游公司有补贴吗
  • 工会经费给税务局交税比例
  • 资本公积金转增股本
  • 资产总额和净资产总额的区别
  • 广告公司固定资产有哪些?
  • 什么发票可以抵成本
  • 财产行为税税种
  • 轩辕剑3字体
  • 上期金额为上年同期报表的本期金额
  • 消耗性生物资产如何结转成本
  • 其他现代服务业是什么
  • ghost还原问题1823
  • 银行承兑汇票背书人和被背书人什么关系
  • 跨年可以预提费用吗
  • 招聘退休人员北京宿管
  • 蒙特城堡干红葡萄酒价格
  • 编写一个php程序,展示双引号和单引号的区别
  • 子公司注销母子关系流程
  • 07. vue3+vite+qiankun搭建微应用前端框架,并接入vue3微应用
  • html怎么用java
  • speedtest教程
  • php读写xml
  • 3d沙盒游戏推荐
  • 多计提费用可以不用以前年度损益调整吗
  • 财务章有几种样式
  • 含消费税的商品开成了不含消费税怎么办
  • Python中__slots__限制属性
  • 税务机关代开的增值税发票要加盖发票专用章吗?
  • 什么样的差旅费津贴可以税前扣除
  • 房屋租金的摊销怎么算
  • mongodb operator
  • 企业应付账款的借方登记
  • 一般纳税人的建筑企业可以选择简易征收的条件
  • 增值税税控系统专用设备费及技术维护费抵扣
  • 企业所得税年报申报时间
  • 高新技术企业收入总额
  • 技术人员工资计入生产成本吗
  • 总公司与分公司关系证明模板
  • 房地产企业扣除土地价款如何申报
  • 承包经营所得个人所得税计算举例
  • 在记账过程中,可能发生各种各样的差错
  • 建筑业人工费怎么做账
  • 蔬菜公司开具专票可以抵扣吗
  • 营改增后计税依据
  • 合并编制报表主要有哪几种
  • linux的head命令
  • redhat linux6.5安装教程
  • win7系统的安装
  • win102020h2怎么样
  • shell 子函数
  • 如何升级win10专业版
  • 深入理解新发展理念,推进供给侧结构性改革 心得体会
  • 批处理新建多个文件夹
  • 批处理文件.bat
  • javascript+HTML5 Canvas绘制转盘抽奖
  • css固定在底部
  • html页面头部
  • 用python画一棵树
  • 单例 python
  • java script教程
  • 安卓各版本占比统计图
  • django框架详解
  • 海南省地方税务局公告2017年第2号
  • 外经证的有效期是多久
  • 单位自有住房免增值税吗
  • 增值税电子普通发票和普通发票区别
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设