undefined 和 null
undefined 和 null 类型是只有一个值的数据类型,值就是 undefined 和 null
if (b === undefined) {} // 最好不要这样,除非已知道 b 已声明,否则会抛出错误
if (typeof(b) === "undefined") {}
undefined 和 null 的区别
undefined 翻译: “未定义的”;null 翻译 “空白的”;
似乎两者表达的意思差不多,实际上 undefined 派生于 null,ECMA 规定两者 ==
操作符返回 true:
console.log(null == undefined); // true
在 js 中,null 是一个空对象指针,也就是一个变量还没有真正保存对象时,应该明确让变量保存 null,以和 undefined 做区别。
console.log(typeof null) // object
比如这样体现不出来这样的惯例,你不知道它保存什么
var user;
而这样声明,则知道它应该保存对象
var user = null;
user = {"name":"xiaoming"} // 赋值为对象
user = null // 释放内存
在编程中的表现:
//空指针
var a=null
console.log(a); // null 按惯例应保存对象
// 未初始化
var n;
console.log(n); // undefined 不知道n是什么
// window 对象上不存在的属性
console.log(window.m); // undefined 不知道m是什么
其他资料
【1】引自:百度百科
null 的类型是一个对象,用来表示一个变量没有任何数值,而 undefined 是指变量没有定义任何值。
undefined 与 null 不同,它表示无值的意思,并且具有独一无二的类型,它区别任何对象、数组、数值、字符串和布尔型。
推荐文章: