位置: 编程技术 - 正文

Javascript typeof与instanceof的区别

编辑:rootadmin

推荐整理分享Javascript typeof与instanceof的区别,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

JavaScript 中 typeof 和 instanceof 常用来判断一个变量是否为空,或者是什么类型的。但它们之间还是有区别的:

typeof

typeof 是一个一元运算,放在一个运算数之前,运算数可以是任意类型。

它返回值是一个字符串,该字符串说明运算数的类型。typeof 一般只能返回如下几个结果:number,boolean,string,function,object,undefined。我们可以使用 typeof 来获取一个变量是否存在,如 if(typeof a!="undefined"){alert("ok")},而不要去使用 if(a) 因为如果 a 不存在(未声明)则会出错,对于 Array,Null 等特殊对象使用 typeof 一律返回 object,这正是 typeof 的局限性。

instanceof

instance:实例,例子

a instanceof b&#;alert("true"):alert("false"); //a是b的实例?真:假

instanceof 用于判断一个变量是否某个对象的实例,如 var a=new Array();alert(a instanceof Array); 会返回 true,同时 alert(a instanceof Object) 也会返回 true;这是因为 Array 是 object 的子类。再如:function test(){};var a=new test();alert(a instanceof test) 会返回

Javascript typeof与instanceof的区别

谈到 instanceof 我们要多插入一个问题,就是 function 的 arguments,我们大家也许都认为 arguments 是一个 Array,但如果使用 instaceof 去测试会发现 arguments 不是一个 Array 对象,尽管看起来很像。

另外:

测试 var a=new Array();if (a instanceof Object) alert('Y');else alert('N');

得'Y'

但 if (window instanceof Object) alert('Y');else alert('N');

得'N'

所以,这里的 instanceof 测试的 object 是指 js 语法中的 object,不是指 dom 模型对象。

使用 typeof 会有些区别

alert(typeof(window)) 会得 object

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

Angularjs 设置全局变量的方法总结 AngularJS设置全局变量的三种方法angularjs自身有二种,设置全局变量的方法,在加上js的设置全局变量的方法,总共有三种。要实现的功能是,在ng-app中定

微信开发 微信授权详解 最近有机会做到一个微信项目;把其中自己整理的笔记分享给大家,有不足或错误的地方望大家指正!1关于微信授权这块的流程图,如下一些代码碎片

微信和qq时间格式模板实例详解 直接上代码,代码中有注释,大家好好看!/***将一个时间戳转换成提示性时间字符串,如*2分钟内无显示*2分钟-小时HH:mm*昨天昨天HH:mm*前天前天HH:mm*一

标签: Javascript typeof与instanceof的区别

本文链接地址:https://www.jiuchutong.com/biancheng/373609.html 转载请保留说明!

上一篇:javascript self对象使用详解(js对象foreach)

下一篇:Angularjs 设置全局变量的方法总结(angularjs定义全局变量)

  • 小规模纳税人发票可以抵扣吗
  • 房地产税收有哪些
  • 怎么算固定资产
  • 什么是富人税收政策
  • 以转账方式收到货款会计分录
  • 外经证办好了后怎么开票
  • 一季度季初从业人数
  • 非独生子女赡养老人专项附加扣除的标准
  • 专项应付款在资产负债表中如何列示
  • 职工与企业解除劳动合同后医保怎么办
  • 无法收回的应收账款情况说明
  • 因小数点造成的误差称为
  • 公司内部食堂招待费账务处理
  • 销售库存商品计入什么科目
  • 厂房转让企业所得税计算方法
  • 房地产开发临时用电
  • 土地款可以抵扣土地增值税么
  • 简易计征的税率
  • 企业出租房屋交什么税?
  • 商业折扣如何开发票
  • 索赔发票会计入账
  • 暂估入库有时间限制吗
  • 怎么添加一个
  • 收到上级工会下拨的工会经费
  • 其他应收款注销数额太大
  • 苹果mac电脑自带的软件
  • win10电源模式最佳性能多耗好多电
  • macbook无限输入z
  • git pull远程
  • 企业办理银行结汇流程
  • 先付费后收到发票怎么做分录
  • 什么是减值测试方法
  • 现行小规模纳税人增值税税率
  • 公司租赁办公室要注意什么
  • 微软windows11iso
  • hpptd.exe
  • 巴拉诺维奇市
  • 领用材料已抵扣进项税
  • 亏损销售怎么结转库存成本怎么计算
  • 税务自查补税后还有风险吗
  • 布拉塞龙图片
  • 行政事业单位 银行
  • 老生常谈php中传统验证与thinkphp框架(必看篇)
  • php产品
  • 前端框架三大框架
  • 微擎框架破解版v2.7.7
  • 专票不认证有什么风险
  • 银行回单应该如何处理
  • 在建工程的前期工程
  • 抚恤金发放标准2019年
  • 新的会计制度
  • 收到货款发货了没开发票怎么入账
  • 工会应付下级经费
  • 个人给国外公司提供服务
  • 招待费用的进项发票可以抵扣吗
  • 货运代理服务开票
  • 企业中征码怎么查询
  • 挂靠企业电费如何处理?
  • Windows10下MySQL5.7.19安装教程 MySQL忘记root密码修改方法
  • linux上mysql安装详细教程
  • solaris挂载nfs
  • win7如何新建用户
  • xp 跳过 chkdsk
  • ububtu安装教程
  • win8 开机
  • win8怎么改成win10
  • awk实现wc功能
  • unity 3a游戏
  • 谈一谈js消息机制的理解
  • nodejs跳转到指定页面
  • jquery实现移动端
  • bootstrap 可编辑下拉检索
  • jQuery中text() val()和html()的区别实例详解
  • 一个简单的javaweb项目
  • 民办非企业单位登记管理暂行条例
  • 管道运输合同需不需要缴纳印花税
  • 请问地税是省直单位吗
  • 船员工资是否需交税
  • 遏制新增
  • 个人所得税税收完税证明哪里打印
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设