null
和 undefined
的区别
1、Null
null
表示一个"无"的对象,转为数值为0
;- 作为函数的参数,表示该函数的参数不是对象;
- 作为对象原型链的终点;
Number(null)
为0
;5 + null
为5
;JSON.stringify(null)
为'null'
(字符串);JSON.parse(null)
为null
(null
基本类型)。
2、Undefined
- 变量被声明了,但是没有赋值,就等于
undefined
; - 调用函数时,应该提供的参数没有提供,该参数等于
undefined
; - 对象没有赋值属性,该属性的值为
undefined
; - 函数没有返回值时,默认返回
undefined
; Number(undefined)
为NaN
;5 + undefined
为NaN
;JSON.stringify(undefined)
为undefined
;JSON.parse(undefined)
为 报错。