在解bug时,发现了NaN这个值
1. NaN = 'Not a Number' 非数字值
2. NaN表示非法的数字
<script type="text/javascript">
var str = '';
var num = parseInt(str); //parseFloat
document.write('num value = ' + num + ', type = ' + typeof(num));
</script>
输出: num value = NaN, type = number
parseFloat(arg) 和 parseInt(arg) 函数在计算并不是数值的值时,返回NaN,(number类型)
通过isNaN(arg)来判断arg是否为NaN,如果arg为非数字值或NaN值,返回TRUE,否则返回FALSE
NaN值与任何变量/值/NaN自身做==/===运算,结果都为 FALSE
<script type="text/javascript">
var str1 = 'test';
var str2 = '123test';
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>
str1 = NaN
str2 = 123
str3 = 5
str1=NaN is not a number