定义
undefined 表示“未定义”或不存在,即由于目前没有定义,所以此处暂时没有任何值,是数据类型。
null 表示空值,即此处的值为空,是数据类型。
NaN 是 JavaScript 的特殊值,表示“非数字”(Not a Number),主要出现在将字符串解析成数字出错的场合,数据类型为number,是数值。
使用场景
undefined和null语法差别很小。
转换数值
null 是一个表示“空”的对象,转为数值时 为 0 ;
undefined 是一个表示”此处无定义”的原始值,转为数值时为 NaN 。
其他
需传参不想传入参数时可以传入null,表示参数为空,接受异常时程序未出错,那么传入null;
未赋值的变量、未提供的参数、未赋值的属性、默认的返回值类型为undefined。
NaN运算规则
1.字符串在数学运算中出现,为NaN;
2.一些数学函数的运算结果会出现 NaN;
3.0 除以 0 也会得到 NaN ;
4.NaN 不等于任何值,包括它本身;
5.数组的 indexOf 方法内部使用的是严格相等运算符,所以该方法对 NaN 不成立;
6.NaN 和0在布尔运算时被当作 false(非Number类型当做false的还有null和undefined) ;
7.NaN 与任何数(包括它自己)的运算,得到的都是 NaN 。
浙公网安备 33010602011771号