JS中的NaN

<!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>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值