JS中的NaN
程序员文章站
2024-03-25 19:56:46
...
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
</head>
<body>
<script type="text/javascript">
var num='a'-3;
console.log(num);//NaN 无法将'a'转换成数字进行相减
//以下为false 不是NaN
console.log(isNaN(3));//false
console.log(isNaN('3'))//false
console.log(isNaN(''))//false
console.log(isNaN(null))//false
//以下为true 是NaN
console.log(isNaN('a'))//true
console.log(isNaN({}))//true
console.log(isNaN(undefined))//true
console.log(isNaN('12ab'))//true
console.log(isNaN(NaN))//true
/*技术有限只能总结以上常见的几种
*isNaN(a):用来判断a到底是不是非数字,返回布尔值,判断过程
*1,首次需要先判断值得类型是不是Number类型(两种情况)
* 1如果不是Number(两种情况)
* 1可以强制转换 能转换的就转换 则不是NaN
* 不带数字的字符串,布尔值,空字符串,null
* 2不可以强制转换 则是NaN
* 空对象 ,undefined,有数字的字符串,自己本身
* 2是Number 则判断不是NaN
*从上面可以看出来,只有在类型不能转换为Number的时候,就是NaN
*
* 其他的一些特性:
* 1不代表任何值,也不等于任何值,甚至自己都不等于自己
* 2任何数据与它运算都返回NaN
*/
</script>
</body>
</html>
下一篇: 1.2 UI设计之基本布局