js的基本类型null和undefined什么区别

73 阅读1分钟

1、null 是一个表示空值的关键字,通常用来表示变量被明确/显式赋值为空
2、undefined 是一个全局变量(window.undefined,值为undefined),表示未初始化的值或未定义的属性,通常由 JavaScript 在变量声明但未赋值时自动设置。
3、没return的函数的返回值是undefined;未传值的函数参数为undefined;
4、null == undefined // true; null === undefined // false,因为他们类型不同;
5、数值转换时,Number(undefined) // NaN ;undefined+Math.random() // NaN ;
6、null 在数值转换时会被当作0; 即Number(null) // 0;
注意:未定义的变量会报错并提示xxx is not defined;