JavaScript 中的 undefined 和 null 值介绍
JavaScript 中有两个特殊值: undefined 和 null。这里介绍分别介绍一个这两个值,并说明两个值的相同点和不同点。
一、undefined 介绍
- 在读取未赋值的变量,会得到 undefined 值。
- 在读取对象没有的属性时,会得到 undefined 值。
1.1、变量没有赋值
function test(id) {
return id;
}
console.log(test());//undefined
调用函数时,没提供应有的参数,该参数则等于undefined。
1.2、调用对象中不存在的属性
var o = new Object();
o.p;//undefined
1.3、函数没有返回值的时候
function test() {
}
test();//默认返回undefined.
二、null 值介绍
- 表示无值(一个空对象指针)。
- 定义变量准备之后用来保存对象,就可初始化值为null,用来存字符串,初始化值为””。
2.1、null 值是 object类型
var a = null;
console.log(typeof a)//object
三、检查变量或属性是否为 undefined 或 null
如果想检查某属性是否为null或undefined,那么只要使用if语句和逻辑非运算符即可。
var myData = {
name: "adam",
city: null
};
if(!myData.name){
document.writeln("name IS null or undefined")
}
这里借助了JavaScript执行的类型转换。
有了类型转换,检查的值会被当作布尔值处理。如果变量为null或undefined,则转换为布尔值false。
四、区分null 和 undefined
在比较两个值时,所用方法应视所需而定。
- 两个值使用相等运算符(==)比较,返回真。
- 两个值使用等同运算符(===)比较,返回假。