JavaScript中的NaN

在解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

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值