位置: 编程技术 - 正文

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

  • 全国增值税发票查验平台入口
  • 核定征收企业股权转让的个人所得税
  • 生产成本明细科目是材料还是产品
  • 收到对方红字发票如何做账
  • 公司净资产减少
  • 物流企业账务流程
  • 工程结算方式分为
  • 销售费用包括哪些二级科目
  • 上月营业外收入少报入了怎么办
  • 开具红字发票抵扣后如何退税?
  • 电子承兑汇票能转让给个人吗
  • 应交增值税明细科目如何结转
  • 私账对私账不用交税吗
  • 小规模企业差额征收税率
  • 出差补贴是否缴纳个人所得税 北京
  • 建筑业营改增账务处理怎么做?
  • 纳税人提供植物养护服务属于什么服务
  • 公司为员工负担的工资
  • 个人房源出租
  • 代收代缴水电费能开发票吗
  • 开了百分之五的票怎么办
  • 企业买房可以抵扣多少税
  • 财务报表包含哪些表
  • 其他综合收益的含义
  • 海运费付款方式
  • 财务报告成本
  • 社保基数如何计算单位和个人承担多少
  • linux怎么使用命令
  • 债券利息收入的分录
  • PHP:mb_ereg_search_getpos()的用法_mbstring函数
  • 关于工程材料的图书有哪些
  • 企业所得税扣除标准表
  • 人民币账户购汇支付
  • 如何开增值税专用发票步骤图解
  • 金融企业的贷款准备金
  • 支付宝提现到对公账户怎么做账
  • 以前年度少记税金及附加
  • 递延收益会计科目核算什么内容
  • 个人往来款如何转为公司股权
  • 芒果sdk
  • 应计入利得和损失项目的有
  • 财务支出表怎么做
  • websocket前端vue
  • 人力资源公司财务工作心得与感悟
  • 基本运算符号有乘方吗
  • 首涂第二十一套模板
  • 不动产简易征收增值税发票 可以抵扣
  • 当月工资未发放的怎么记账
  • 收到的普票金额多开了怎么处理呢
  • 转出未交增值税最终怎么转平
  • 出资人和法人承担责任
  • 套期保值和套期图利
  • 个体户开票额度超了
  • 建筑安装的扩展性是指
  • sqlserver判断查询结果是否为空
  • 利润表的税金及附加怎么得出来
  • 什么是非营利性组织
  • 发票可否盖财务章
  • 房地产毛利额纳税调整
  • 给聘用人员每月多少钱
  • 营改增后建筑业税率变化情况
  • mysql数据源
  • SQLServer EVENTDATA()函数来获取DDL 触发器信息
  • mysql5.7分区表
  • bios没有usb启动项解决方法联想
  • executing c1.exe
  • win8创建我的电脑
  • AsyncTask onPostExecute()不执行,与JPush冲突
  • django框架mvt
  • vue复用node_module
  • jquery教程 csdn
  • JavaScript Switch 声明
  • python获取xhr
  • 四川国税网上申报
  • 西安大修基金和契税怎么计算
  • 泉州企业医保哪里缴费
  • 360浏览器hi真不巧
  • 国税企业所得税网上申报
  • 什么叫税务协查
  • 劳务合同和劳务协议的区别和联系
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设