位置: 编程技术 - 正文

基于javascript中的typeof和类型判断(详解)(javascript基于什么的语言)

编辑:rootadmin

推荐整理分享基于javascript中的typeof和类型判断(详解)(javascript基于什么的语言),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:javascript基础,基于javascript的毕业设计,javascript基础,javascript运用,javascript运用,javascript基于什么的语言,javascript基于什么的语言,javascript基于什么的语言,内容如对您有帮助,希望把文章链接给更多的朋友!

typeof

ECMAScript 有 5 种原始类型(primitive type),即 Undefined、Null、Boolean、Number 和 String。我们都知道可以使用typeof运算符求得一个变量的类型,但是对引用类型变量却只会返回object,也就是说typeof只能正确识别基本类型值变量。

您也许会问,为什么 typeof 运算符对于 null 值会返回 "object"。这实际上是 JavaScript 最初实现中的一个错误,然后被 ECMAScript 沿用了。现在,null 被认为是对象的占位符,从而解释了这一矛盾,但从技术上来说,它仍然是原始值。

最后一个比较奇怪,typeof一个不存在的变量x居然返回了"object"而不是"undefined"。

我们在来如下代码:

对于数组和对象都返回"object",因此我们日常开发中一个常见需求就是如何判断变量是数组还是对象。

类型判断

类型判断,一般就是判断是否是数组,是否是空对象。这是针对这个需求,我日常用过或见过的判断方法

判断是否是数组

有数组:var a = [1,2,3,4,5];

方法一:

基于javascript中的typeof和类型判断(详解)(javascript基于什么的语言)

toString.call(a); // "[object Array]"方法二:

a instanceof Array; //true方法三:

a.constructor == Array; //true 第一种方法比较通用,也就是Object.prototype.toString.call(a)的简写。

instanceof和constructor判断的变量,必须在当前页面声明的,比如,一个页面(父页面)有一个框架,框架中引用了一个页面(子页面),在子页面中声明了一个a,并将其赋值给父页面的一个变量,这时判断该变量,Array == object.constructor会返回false;

判断是否是空对象

有变量:var obj = {};

方法一:

JSON.stringify(obj); // "{}"通过转换成JSON对象来判断是否是空大括号

方法二:

if(obj.id){ //如果属性id存在....}这个方法比较土,大多数人都能想到,前提是得知道对象中有某个属性。

方法三:

这个方法是jQuery的isEmptyObject()方法的实现方式。

以上这篇基于javascript中的typeof和类型判断(详解)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持积木网。

javascript浏览器用户代理检测脚本实现方法 以下是完整的用户代理字符串检测脚本,包括检测呈现引擎、平台、Windows操作系统、移动设备和游戏系统。varclient=function(){//呈现引擎varengine={ie:0,gecko:0

JavaScript模拟实现封装的三种方式及写法区别 前言继承是使用一个子类继承另一个父类,那么子类可以自动拥有父类中的所有属性和方法,这个过程叫做继承!JS中有很多实现继承的方法,今天我给

Popup弹出框添加数据实现方法 本文实例为大家分享了Popup弹出框添加数据的具体代码,供大家参考,具体内容如下逻辑窗口P1中显示一组数据,并提供一个添加按钮点击按钮,弹出新

标签: javascript基于什么的语言

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

上一篇:Tutorial 3: First Triangle

下一篇:javascript浏览器用户代理检测脚本实现方法(JavaScript浏览器打开)

  • 印花税申报表计税依据怎么填
  • 三代税款手续费退费申请
  • 资产交换的涉税处理
  • 公司购买汽车的折旧年限
  • 福利费计提多了如何处理
  • 记账凭证拆开
  • 预算资产负债表
  • 固定资产装修费用计入房产税吗
  • 已认证的发票如何冲红步骤
  • 小型制造型企业有哪些
  • 个人出售住房缴纳房产税吗
  • 现金折扣税务筹划
  • 预交税费怎么做分录
  • 交汇算清缴所得吗
  • 房屋租赁费属于什么会计分录
  • 建筑企业收到材料发票没有备注能用吗
  • 打款到另外公司作为投资款的会计分录怎么做?
  • 房屋租赁合同样本书
  • 财务费用利息收入的账务处理
  • 固定资产增值税怎么抵扣
  • 增值税专用发票怎么开
  • 居委会有没有税收政策
  • 废旧物资销售如何征税
  • 企业向员工集资利息标准
  • 怎么分辨是否清真食品
  • 企业的主营业务收入
  • 年度报表申报错误,怎样更正
  • 河道管理费入什么科目
  • 个人开农产品发票流程
  • 苹果系统中英文切换快捷键
  • 新版edge浏览器兼容模式怎么设置
  • 收到发票怎么写说明
  • 银行保证金户利息计算公式
  • 一般纳税人购进农产品如何抵扣进项税额
  • 因质量问题被扣的货款销售方怎么做账
  • scm wms
  • 没有了睡眠功能
  • 笔记本电池消耗大怎么办
  • php未定义数组下标0
  • winform缓存解决方案
  • php ajax请求
  • 小程序生命周期钩子
  • 开具负数发票的流程
  • axure rp 9视频教程
  • shapecfg命令 管制网络设备的流量
  • 残保金工资标准
  • 利息支出税前扣除时间
  • pnpnpn的工作原理
  • jvm jmm
  • python中self详解
  • 挂靠设计公司费用标准怎么记账
  • 企业借入长期借款的用途主要有
  • 税前可扣除的税费
  • 不单独计价的包装物是什么意思
  • 变卖固定资产的账务处理
  • 企业征收所得税会计分录
  • 税务局手续费返还什么时间到账
  • 支付关税现金流放哪儿
  • 开票后收不回来款怎么办
  • 红字申请单能作废吗
  • 应付账款一直挂着,怎么消掉
  • sql纵向排列改为横向
  • win8系统蓝屏后无法修复
  • ubuntu注册用户
  • 新安装的Ubuntu系统无法联网
  • 安装win7系统需要注意什么
  • ultraiso刻录音乐到dvd
  • xp系统的本地连接
  • 远程控制安全
  • ireike.exe - ireike是什么进程 有什么作用
  • 如何在linux shell关闭443端口
  • linux xfs 扩容
  • Linux中mysqldump命令实例详解
  • js如何深度克隆一个对象
  • js有多重模块定义方式
  • python lambda的用法
  • javascript标签大全
  • python爬取电视剧
  • 福利费是否计入成本费用
  • 入职培训结束寄语
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设