JavaScript NaN 与isNaN

521 阅读1分钟

NaN表示非数值,not a number不是个数字

当脚本尝试把一些非数字当做数字进行处理,却无法得到数字时,其返回值就是NaN。比如拿一个整数乘以一个字符串,结果就是NaN

NaN和任何数据比较,永远返回false

任何与NaN进行运算的结果均为NaN

NaN不与任何值相等,包括自身,它属于Number类型

一旦程序中出现:NaN,肯定进行了非法的运算操作,如:alert('200px'-100);

1.isNaN

利用isNaN()函数能够检测其参数是否为一个“数字”,是数字返回false(不喜欢数字),非数字返回为true
alert(isNaN(100));         // false

alert(isNaN('你好'));        //true

alert(isNaN('200'));         //true   此'200'为字符串类型
内部运行规律:先用Number去转
<script>

//用户输入数字

var num = prompt("请输入数字:");

if(isNaN(num)){

document.write("您输入的不是数字!");

}else{document.write("您输入的数字是:"+num);

}

</script>