javascript isNaN

因为以前felx组件默认是-99999999,后来因为方便组件和数据库的操作,就统一修改Number类型的数据为NAN类型了,然后通过isNaN去判断,而然很多表达式是返回字符串的或者null,要注意isNaN(null)是返回false,而isNaN(NaN)返回true

返回值定义式: 如果该值为NaN(非数字),则返回true;否则返回false。

参考api文档的说明如下:
public function isNaN(num:Number):Boolean
参数: 
num:Number— 要计算的数值或数学表达式。 
返回Boolean— 如果该值为NaN(非数字),则返回true;否则返回false。

如果该值为NaN(非数字),则返回true。
isNaN()函数可用于检查一个数学表达式是否成功地计算为一个数字。
NaN值是Number数据类型的特殊成员,用来表示“非数字”值。

注意:
1)含有不能转换成数字的字符才输出true,对于空字符串和空对象(NULL)都能转换,输出false。
2)NaN值不是int或uint数据类型的成员,isNaN(NaN)返回true。

下面是几个例子:

例子一:


public function Test() {


      var A:int =1;
           var B:Number =3.69;
      var C:String ="";
      var D:String ="22";
      var E:String ="a2";
      var F:String =null;

      var G:Numer =NaN;


     trace(isNaN(A));
     trace(isNaN(B));
     trace(isNaN(C));
     trace(isNaN(D));
     trace(isNaN(E));
     trace(isNaN(F));

    trace(isNaN(G));
     }  
      }
}
//-------------------结果--------------

false
false
false
false
true
false

true

例子二:

下表描述 isNaN()针对各种输入类型和值的返回值。 
输入类型/值
例如: 
isNaN(0/0)的结果为true 
非零数字isNaN(5/0)的结果为false
负数的平方根isNaN(Math.sqrt(-1))的结果为true
大于1或小于0的数字的反正弦isNaN(Math.asin(2))的结果为true
可以转换为Number的字符串isNaN("5")的结果为false
无法转换为Number的字符串isNaN("5a")的结果为true

原文: http://blog.csdn.net/john2522/article/details/7254120

原文地址:https://www.cnblogs.com/shistou/p/3408740.html