js中判断一个变量是否为NaN
·
定义
NaN(不是一个数字,但数据类型为number)是执行数学运算没有成功,返回失败的结果。
另外,NaN 不等于 NaN 。
判断方法
-
利用
NaN
是唯一一个不等于自身的特点function _isNaN(val) { if (val !== val) { return true; } return false; }
-
利用 ES6 中提供的
Object.is()
方法var a = "string"; var b = 2; var c = a/b; // NaN Object.is(a, NaN); // false Object.is(b, NaN); // false Object.is(c, NaN); // true
-
使用
isNaN
(并不推荐)function _isNaN(val) { if (typeof(val) === 'number' && isNaN(val)) { return true; } return false; }
isNaN()
的参数如果不是 Number 类型,则会先把参数进行一次 Number 转换,所以如果直接使用,当传入字符串时,也会返回 true,即isNaN('str'); // true
。
更多推荐
已为社区贡献2条内容
所有评论(0)