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)为 ==报错==。