这篇文章给大家分享的是有关JavaScript中基本类型值Undefined、Null、Boolean的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
ECMAScript中有5中简单的数据类型(也称为基本数据类型):Undefined、Null、Boolean、Number、String。
Undefined
Undefined时全局变量的一个属性,它只有一个值即:undefined。当使用var声明变量但未对其初始化时,这个变量的值就是undefined。
var test;
console.log(test); //undefined
对于未声明过的变量只能进行一种操作,即typeof检测其数据类型
//var a
console.log(typeof a); //undefined
undefined通常出现的场景:
1、已经声明但未赋值的变量
2、typeof检测未声明的变量的数据类型
3、没有返回值的函数的执行结果
4、函数没有传入参数
5、void(expression)
//1、
var test;
console.log(test); //undefined
//2、
//var a
console.log(typeof a); //undefined
//3、
function f(){}
console.log(f()); //undefined
//4、
function f(x){
return x;
}
console.log(f()); //undefined
//5、
console.log(void(0)); //undefined
严格相等和undefined
可以使用严格相等和不相等来检测一个变量是否拥有值
var x ;
if(x === undefined){
console.log(1);
}else{
console.log(2);
}
注意:这里要用严格相等,因为 null == undefined
void操作符和undefined
可以用void操作符来代替undefined
var x ;
if(x === void(0)){
console.log(1);
}else{
console.log(2);
}
Null
Null类型是第二个只有一个值的数据类型,这个特殊的值是null。从逻辑的角度看,null值表示一个空对象的指针。null常被放在期望一个对象,但不引用任何对象的参数位置。
console.log(document.getElementById('ol')); //null
注意:
console.log(typeof null); //object
产生这样的原因就如前面所说,null值表示一个空对象的指针,用typeof检测数据类型,肯定就是object
从最底层讲不同的对象在底层都表示为二进制,在javascript中二进制前三位都为0会被判断为object类型,null的二进制表示是全0,所以执行typeof时返回'object'
null和undefined
null和undefined时不同的,但是他们都表示空值,null表示“空值”,undefined表示“未定义”。
typeof null // object
typeof undefined // undefined
null === undefined // false
null == undefined // true
null === null // true
null == null // true
!null //true
isNaN(1 + null) // false
isNaN(1 + undefined) // true
Boolean
Boolean类型是ECMAScript中使用最多的一种类型,该类型只有两个字面值:true和false
注意:Boolean类型的字面值true和false是区分大小写的
虽然Boolean类型的字面值只有两个,但是ECMAScript中所有的类型的值都有与这两个Boolean值等价的值。要将一个值转换为对应的Boolean值,可以调用转型函数Boolean()
var message = 'hello world';
var messageBoolean = Boolean(message);
console.log(messageBoolean); //true
转换表:
值 | 字符串 | 数字 | 布尔值 |
undefined | "undefined" | NaN | false |
null | “null” | 0 | false |
true | “true” | 1 | |
false | “false” | 0 | |
""空字符串 | 0 | ||
"1.2" 非空,数字 | 1.2 | ||
"o" 非空,非数字 | |||
0 | "0" | false | |
-0 | "0" | false | |
NaN | "NaN" | false | |
infinity | "infinity" | true | |
-infinity | "infinity" | true |
感谢各位的阅读!关于“JavaScript中基本类型值Undefined、Null、Boolean的示例分析”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!