zoukankan      html  css  js  c++  java
  • 关于NaN和isNaN

    js中的数据类型有几个特殊的,其中NaN就是一个,今天来说一下NaN的特点以及和isNaN的区别。

    JS中的数据类型:数字(NaN)、字符串、布尔、函数、对象(obj、[]、{}、null)、未定义。

    一、那么NaN在以下几种情况中会比较特殊:

     1 <script>
     2 var a = Number('abc');
     3 // alert( a );            // NaN
     4 // NaN:not a number 不是个 数字 的 数字类型。结果说明:NaN属于数据类型中的数据
     5 
     6 
     7 // alert( typeof (a) );            // number
     8 // 一旦写程序中出现:NaN  肯定进行了非法的运算操作
     9 // alert( '200px' -  100 );
    10 
    11 // NaN 是 false
    12 if( a ){
    13     // alert( '真' );
    14 }else{
    15     // alert( '假' );
    16 }
    17 //结果说明:NaN在布尔值中是false
    18 
    19 
    20 var abc = [];
    21 // alert( abc === abc );                true
    22 
    23 alert( a === a );                // false
    24 // 结果说明:NaN 与自己都不相等!!
    25 </script>

    从上面的分析中得出几个NaN的特点:

    1、NaN属于数据类型中的数据;

    2、NaN在布尔值中是false;

    3、NaN 与自己不相等。

    二、接下来我们来看看isNaN:

    isNaN:Is not a number 是不是不是一个数字(不是数字)

    isNaN(); 是一个方法,它的特点是:

    1、可以判断某些值是不是数字
    2、不喜欢数字、讨厌数字

    1 <script>
    2 
    3 alert( isNaN('250') );//返回的结果就是false
    4 
    5 //isNaN在解析的过程中能解析出来的自行解析若是不能解析的字符串或者其他类型都会“交给” Number()来处理解析,所以就会出现下面的解析过程
    6 // Number()  '250' => 250 => false
    7 </script>

    所以在项目中isNaN可以用来判断某些值是不是数字,这种用法会很多。

    好了,今天就写到这里,明天继续!

  • 相关阅读:
    组合数
    2019牛客暑期多校训练营第一场 E ABBA
    2019牛客暑期多校训练营(第一场) H XOR
    POJ-1742Coins
    POJ 1384 Piggy-Bank
    operator.itemgetter函数
    常用内置模块之itertools
    解决Django REST framework中的跨域问题
    关于模板渲染冲突的问题
    什么是跨域?以及如何解决跨域问题?
  • 原文地址:https://www.cnblogs.com/web001/p/7944441.html
Copyright © 2011-2022 走看看