NaN和isNaN

        刚认识NaN时,脑子很明白NaN的意思是:不是一个数(not  a  number)。

                var   a='m';

                alert( Number(a) );         输出的是:NaN

         当又认识了isNaN以后我是彻底被整蒙圈了,特别是那句逻辑上很绕的解释,isNaN的意思是:判断是不是,不是一个数。每次用到这句话我都得很费劲的才能转过弯来,怪我脑子本来就笨。

         好了,我还是赶快来屡屡思路,把弯弯绕过来,下面我说三点大家就很明白了。

1、NaN的数据类型是number

         var   a='abc';

           alert(  typeof   Number(a)   );

       //输出的是:number

2、NaN跟任何东西都不相等

        var   a='8';

        var b=NaN;

        alert(  Number(a)==Number(b) );

       //输出的是:false

       -----------------------------------------------

        var    a='pee';

        var    b=NaN;

        alert( Number(a)==b);

       //输出的是:false      (NaN跟它自己都不相等)

3、isNaN可以检测是不是NaN,是就返回true,不是就返回false

        var   a='abc';

        alert( isNaN(a) ) ;

         输出的是:true

         -------------------------

        var  a=666;

         alert(  isNaN(a)  );

        输出的是:false;

你可能感兴趣的:(NaN和isNaN)