您的位置:首页 > Web前端 > JavaScript

Javascript判断数据类型与真假值隐形转换研究

2017-11-09 13:31 756 查看

一、引言

我们在开发的时候经常要判断真和假,这是我们经常写的代码:

if(a){
alert(1)
}


那我们怎么判定a是真还是假呢?下面这些值的真假又是多少呢?它们的数据类型又是怎样的呢?

"",
0,
"true",
"false",
True,
true,
"undefined",
undefined
null
Null
"null"
"NULL"
"object"


二、数据类型

判断数据类型一般用两种方法:typeof和Object.prototype.toString.call(data)。

举个栗子:



我们用typeof看看它的数据类型:



看完null,再看一个空的json对象:



发现它的类型也是"object",那么我们怎么区分它们呢?用Object.prototype.toString.call(data)方法看看:







实验说明Object.prototype.toString.call方法能够得到更加具体的数据类型。我们也可以通过这个方法区分一个对象到底是Object还是Null,还是Array。

另外,我们用typeof或者Object.prototype.toString.call方法的时候,要注意,返回值是字符串:





三、真假值隐形转换













说明字符串“0”是为真的。



说明undefined为false。





说明null是false



字符串的undefined为真。



一个空的json是真。

那么一个空的数组呢?



一个空的数组也是为真的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: