Null类型,代表“空值”,代表一个空对象指针,使用typeof运算得到 “object”,所以你可以认为它是一个特殊的对象值
Undefined类型,当一个声明了一个变量未初始化时,得到的就是undefined
?> null
和 undefined
都表示“值的空缺”,你可以认为undefined是表示系统级的、出乎意料的或类似错误的值的空缺,而null是表示程序级的、正常的或在意料之中的值的空缺
?> null
是一个表示"无"
的对象,转为数值时为0
;undefined
是一个表示"无"
的原始值,转为数值时为NaN
更加详细请读阮一峰大神的undefined与null的区别
参考资料: