JavaScript的六种数据类型及判断方法

对于javascript有六种数据类型,其中包括五种基本类型(string,boolean,number,undefined,null),跟一种引用类型(Object)

对于基本类型,可能大家都比较熟悉,基本概念就不做过多的介绍。

引用类型:一组属性和方法的集合。常见的有:function、array、date等

前四种基本类型(string,boolean,number,undefined)的检测,都可以用 typeof 来进行判断变量的数据类型,例如:

利用typeof对变量进行检测

但是有一种比较特殊,那就是null了,用typeof检测 null ,null 表示的是对一个空对象的引用,返回的是对象类型(object),例如:

利用typeof对null进行检测

对于这个问题,据说是历史遗留的BUG,所以我们只要记住这个就行了。但是对于 null这种类型 我们要如何判断呢

我们可以恒等于(===)来判断变量是否为null,例如:

利用===对null进行检测

 

对于引用类型(Object)的检测,可以使用 instanceof  或者 constructor 来检测对象是否为引用类型(Object)例如

Object类型的检测

 

但是有时候,使用instanceof 跟 constructor,不能很准确的判断出对象的类型,在不同的iframe下,instanceof跟constructor就不行了,因为不同的执行环境原型链不同,所以即使都是数组或者其它对象,都会返回false。这样下来判断各种类型的数据类型,用typeof、instanceof、constructor都没办法准确地判断所有数据类型。所以可以用Object.prototype.toString.call 精确地判断各种数据类型,例如:

Object.prototype.toString.call 精确地判断各种数据类型

 

以上就是JavaScript的几种数据类型的判断了,本人学生党,对本文章有不同见解或发现本文章有错误,欢迎各位大神指正

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值