| 内容 | Undefined与null都是js中的基本数据类型,然而正如它们的名字那样,未初始化和空并不相同,下面我们就来详细辨析JavaScript中的Undefined类型与null类型:
 Undefined
 表示变量已声明,但未被初始化。需要注意的是当使用typeof操作符判断数据类型时,未被声明的变量和未初始化的变量返回的值都为undefined
 var message;
 console.log(typeof message);//undefined
 console.log(typeof age);//undefined
 null:表示一个空对象指针
 使用typeof操作符返回的值是'object',需要注意的是,undefined值是派生自null值的,因此ECMA-262规定对它们的相等性测试要返回true。
 console.log(null == undefined);//true
 undefined与null的区别
 (1)undefined表示一个变量没有被声明,或者被声明了但没有被赋值
 (2)null是一个表示“没有值”的值
 (3)Javascript将未赋值的变量默认值设为undefined
 (4)Javascript从来不会将变量设为null。它是用来让程序员表明某个用var声明的变量时没有值的。
 (5)undefined不是一个有效的JSON,而null是
 (6)undefined的类型(typeof)是undefined,null的类型(typeof)是object.
 PS:它们都是基本类型
 他们都是falsy (Boolean(undefined) // false, Boolean(null) // false)
 你可以这样判断一个变量是否是undefined
 typeof variable === "undefined"
 你可以这样判断一个变量是否是null
 variable === null
 双等号比较时它们相等,但三等号比较时不相等
 null == undefined // true
 null === undefined // false
 
 |