1、定义
(1)undefined:是所有没有赋值变量的默认值,自动赋值。
(2)null:主动释放一个变量引用的对象,表示一个变量不再指向任何对象地址。
2. 相同点
if 判断语句中,两者都会被转换为false
3. 不同点
Number转换的值不同,Number(null)输出为0, Number(undefined)输出为NaN
undefined使用var关键字声明了变量、但还未对其初始化 (即未赋值)。
null表示一个值被定义了,但是这个值是空值
未初始化的变量执行 typeof 操作符会返回 undefined 值,对于未声明的变量执行 typeof 操作符同样也会同样返回 undefined 值。
null 类型表示的是一个空的对象( object ),使用 typeof 操作符检测 null 值时,返回 “object” 。
函数没有返回值,默认返回undefined