FLASH中null、undefined、NaN、""这3个特殊的值是非常容易弄错的,不过大家可以从下面的语句中看出各自的区别:
var ddd0:String;
var ddd1:String = null;
var ddd2:String = undefined;
var ddd3:String = NaN;
var ddd4:String = "";
trace("ddd0="+ddd0);
//output:undefined
trace("ddd1="+ddd1);
//output:null
trace("ddd2="+ddd2);
//output:undefined
trace("ddd3="+ddd3);
//output:undefined
trace("ddd4="+ddd4);
//output:
var ddd5:String = "233.2";
trace("ddd0="+Number(ddd0));
//output:NaN
trace("ddd1="+Number(ddd1));
//output:NaN
trace("ddd2="+Number(ddd2));
//output:NaN
trace("ddd3="+Number(ddd3));
//output:NaN
trace("ddd4="+Number(ddd4));
//output:NaN
trace("ddd5="+Number(ddd5));
//output:233.2-------------------------------------------------------------------
昨天仔细阅读了FLASH的帮助,发现如下的
摘自《FLASH帮助》
Null
空值数据类型只有一个值,即 null。此值意味着“没有值”,即缺少数据。null 值可以用在各种情况中。下面是一些示例:
· 指示变量尚未接收到值
· 指示变量不再包含值
· 作为函数的返回值,指示函数没有可以返回的值
· 作为函数的参数,指示省略了一个参数
Undefined
未定义的数据类型有一个值,即 undefined,它用于尚未分配值的变量。
NaN
可用性
Flash Player 5。
用法
NaN
说明
变量;代表 NaN(非数字)的、具有 IEEE-754 标准值的预定义变量。若要确定某个数字是否是 NaN,请使用 isNaN()。
如果使用未声明的变量(如以下示例所示),该变量的值将是 NaN
或 undefined
var squared = x*x;
trace(squared);
//out.print:NaN
var x = 6;
var ddd_str = xy_str;
trace(ddd_str);
//out.print:undefined
trace(d_str);
//out.print:undefined
//
当变量类型不匹配时就会产生NaN
----rerd 2004.12.14 10:25