Javascript判断空对象
最近在项目开发中判断空对象时,用了“!”运算符,结果程序出现bug,找了好久才找到原因。
其实自己范了一些低级错误,现在把自己经验总结一下:
在JavaScript中,任意JavaScript的值都可以转换为布尔值。
下面这些值会被转换成false:
undefined、null、0、-0、NaN、“”(空字符串)。
NaN--表示非数字值。无穷大除以无穷大、给任意负数作开方运算或者算术运算符与不是数字或无法转换为数字的操作数一起使用时都将返回NaN。
判断一个值是否为NaN方法:1、x!=x返回true;2、函数isNaN()。因为NaN和任何值都不相等,包括它自身。
正零和负零相等,如:0===-0返回true。
JavaScript预定义了全局变量Infinity和NaN,用来表示正无穷大和非数字值。
所有其他值,包括所有对象/数组都会转换成true。