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

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

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

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

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

<figcaption> 利用typeof对变量进行检测 </figcaption>

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

<figcaption> 利用typeof对null进行检测 </figcaption>

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

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

<figcaption> 利用===对null进行检测 </figcaption>


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

<figcaption> Object类型的检测 </figcaption>


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

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


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

全部评论

相关推荐

huo12138:校友,传奇耐面王
点赞 评论 收藏
分享
美丽的95后准备进厂:第二个是外卖➕点评吧,很眼熟
点赞 评论 收藏
分享
10-31 13:04
南华大学 Java
嵌入式的小白:很多面试,面试前不会去打扰cto的,但一般cto不会在这些小事上刷人,只能说这个cto比较操心,啥重要不重要,紧急不紧急的,估计都会过问,平淡看待吧
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务