Javascript isNaN() 函数
isNaN()函数简介
在JavaScript中使用isNaN()函数来判断一个值是否是NaN值。如果该值为非数字值或NaN值,返回true,否则返回false。那什么叫NaN值呢?啊,很简单:
NaN = "Not a Number"(非数字值)
顾名而思义,现在大家都懂了什么叫NaN值吧。其实数字型数据(整型或浮点型)就不是NaN值,而非数字型(如字符串)就是NaN值。
语法:
isNaN(参数)
说明:
这里的参数可以是任何类型的数据,例如数字型、字符串型、日期时间型等。不过得注意一点,当参数是“字符串类型的数字”,就会自动转换为数字型。
例如:
123 //这不是NaN值
"123" //这也不是NaN值,因为“字符串类型的数字”会被自动转换为数字型
"abc123" //这是NaN值
举例1:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<script type="text/javascript">
document.write("isNaN (123)的执行结果是:");
document.write(isNaN (123)+"<br/>");
document.write("isNaN (3.1415)的执行结果是:");
document.write(isNaN (3.1415)+"<br/>");
document.write("isNaN (0)的执行结果是:");
document.write(isNaN (0)+"<br/>");
document.write("isFinite(\"码农教程\")的执行结果是:");
document.write(isFinite("码农教程")+"<br/>");
document.write("isFinite(2015/05/03)的执行结果是:");
document.write(isFinite(2015/05/03)+"<br/>");
</script>
</head>
<body>
</body>
</html>
在浏览器预览效果如下:
使用这个函数的典型情况就是检查parseInt()方法和parseFloat()方法的返回值。还有一种方法,便利可以与它自身进行比较,如果比较的结果不相等,那么它就是NaN。这是因为NaN是唯一与自身不等的值。
举例:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<script type="text/javascript">
var str1 = "test";
var str2 = "test123"
var str3 = "5/0";
str1 = parseInt(str1);
str2 = parseInt(str2);
str3 = parseInt(str3);
document.write("str1 = "+ str1 + "<br>");
document.write("str2 = " + str2 + "<br>");
document.write("str3 = " + str3 + "<br>");
if (isNaN(str1) == true) {
document.write("str1=" + str1 + " is not a number<br>");
}
if (isNaN(str2) == true) {
document.write("str2=" + str2 + " is not a number<br>");
}
if (isNaN(str3) == true) {
document.write("str3="+ str3 + " is not a number<br>");
}
</script>
</head>
<body>
</body>
</html>
在浏览器预览效果如下: