位置: 编程技术 - 正文

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定义全局变量)

  • 小微企业所得税费用怎么算
  • 企业所得税广告费30%扣除
  • 工资个人所得税怎么算
  • 项目固定资产投资包括
  • 小规模纳税人利息收入增值税税率
  • 小规模纳税人季报还是月报?
  • 采购商品成本包括
  • 发票上的销货方是什么意思
  • 增值税专用发票抵扣税额是什么意思
  • 开发票零税率和免税是一样的意思吗
  • 企业个人所得税申报系统官网
  • 快递公司税收优惠
  • 固定资产划转要交增值税吗
  • 在会计实务中财务报表附注的披露方法不包括
  • 营业外收入怎么申报
  • 销售净利率计算公式是什么
  • 负债判断
  • 工程合同外购设备怎么开票
  • 土地租赁摊销年限按合同年限
  • windows怎么禁用网络
  • Win11如何卸载microsoft edge浏览器
  • 交易性金融资产包括哪些项目
  • 电脑如何关闭屏幕还在工作
  • 工程公司项目经理年薪一般多少
  • 电子税务局清算备案能撤销吗
  • php访问统计
  • 税控盘进项税已抵扣如何转出分录
  • 苹果系统中怎么删除软件
  • 在win7中,如何创建一个TXT文件
  • 年度应付职工薪酬在科目余额表哪里看
  • 研发费用支出税前扣除比例
  • 摊销账务处理会计分录
  • 微信红包如何发出去
  • 委托收款拒收会退回吗
  • php 图片上传
  • 宝塔面板使用教程
  • 融资租入的办公楼
  • ucenter中词语过滤原理分析
  • 小企业发票打印流程
  • 手工凭证三级明细
  • 给最爱的他
  • 待核销基建支出并入哪个科目
  • 企业做账会计分录流程
  • 未开票收入下月开票
  • 白酒贴牌酒是真酒还是假酒
  • phpcms多站点
  • 驱动开发做得长久吗
  • 房产税计入管理费用还是税金附加
  • 承兑汇票可以当现金借给别人用吗
  • sqlserver2005安装失败
  • 增值税留抵税款制度
  • 发票加上税额之后怎么还多了呢
  • 进货没开票销售开票了
  • 劳务派遣公司主营业务成本是什么
  • 以前年度损益调整怎么做账
  • sqlserver导出数据库及表结构
  • mysql数据库简单介绍
  • win10升级2020
  • packethsvc.exe - packethsvc是什么进程 有什么用
  • win10超级按钮
  • linux文件中添加内容
  • win7浏览器怎么升级到最新版
  • windows10窗口设置在哪
  • 给div设置滚动条
  • 批处理命令在哪个菜单中
  • jQuery插件能输出到控制台
  • js oncontextmenu事件使用详解
  • 3行程序搞定SVM分类-用JAVA程序调用LibSVM API 最简单的示例
  • ubuntu libtorch
  • jquery滚动条滚动到指定位置
  • js设置导航固定
  • 3ds 俄罗斯方块
  • 基于jquery的框架有哪些
  • 比较常见的电子商务模式
  • python程序解读举例
  • javascript七种数据类型
  • 银行流水怎么查
  • 厦门增值税发票查验
  • 哈尔滨自贸区全称
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设