位置: 编程技术 - 正文

基于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浏览器打开)

  • 没有发票就不能入账吗
  • 税前扣除什么意思
  • 个人所得税综合税率表2023
  • 代开运输发票会不会造成重复征税
  • 接受捐赠的增值税处理
  • 从事股权投资业务如何界定
  • 汽车牌照费用标准
  • 垫资公司怎么收费50万
  • 购置税发票如何下载
  • 本月实现利润总额的25%计算并结转应交所得税
  • 库存冲红是什么意思
  • 递延所得税当期所得税费用
  • 应收账款管理制度设计毕业设计
  • 企业出租设备取得租金收入要交增值税吗
  • 简易征收的增值税可以在税前列支吗
  • 小规模纳税人2018
  • 医疗机构交企业所得税吗
  • 差额纳税的会计处理
  • 个税申报方式可以修改去年的吗
  • 企业预缴多交税了如何申请退税
  • 科研项目经费怎么填
  • 员工的水电费计入什么科目
  • 个体户核税怎么核
  • 法院执行费怎么收取法律依据
  • 专项应付款形成资产怎么处理账?
  • 具备以下条件
  • 手机中的流量统计在哪里寻找
  • windows预览体验计划选哪个渠道
  • 上年度的发票还能红冲吗
  • 税务自查补缴税款的申报表在哪里找
  • 长期待摊费用是当月摊销还是次月摊销
  • 专有技术应当得到
  • linux sed -s
  • 冲回上年多提的费用会计分录
  • laravel批量insert
  • php socket 非阻塞
  • css转换器
  • 老师不干了可以从事什么行业
  • 没有开发票的收入
  • 劳动法节假日加班工资
  • 财政零余额账户是什么
  • 一张专票可以开几项
  • 分公司开票总公司付款可以吗
  • 退货款现金流量表填什么?
  • 通过点击一个按键的游戏
  • 采购的技术服务费会计分录
  • 本月的费用
  • 购买仪器属于什么费用
  • 土地增值税预缴计税依据
  • 企业应付债券增加说明了什么
  • 自用房地产转换为成本模式计量的投资性房地产
  • 货款已退回货已收到怎么办
  • 红冲凭证怎么做分录
  • 应付账款与实际付款有差异如何分录
  • 房屋租赁费怎么记账
  • 小规模购买税控盘分录怎么写
  • 发工资扣的个人社保计入哪个科目
  • 展览门票收入按什么征税
  • 企业法人投资收益交税吗
  • 新成立的公司购买的家具可以计入主营业务成本吗
  • 资产减值损失是费用类科目吗
  • 总账建账要建全部科目吗
  • Linux系统下mysqlcheck修复数据库命令(详解)
  • 深入理解mysql主从原理32讲
  • win8.1电脑设置在哪里
  • 华硕fx80g装系统
  • win8快捷键设置在哪里设置
  • Mtdacq.exe - Mtdacq是什么进程 有什么用
  • win7系统怎样安装字体
  • unity alembic
  • jquery浮动窗口
  • 认识 认知
  • ubuntu重新安装网卡驱动
  • android刷新activity
  • jquery去重复数组
  • jquery修改css
  • jquery确认取消对话框
  • python的例子
  • 辽宁税务遴选
  • 出口退税出现预缴怎么办
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设