AS3中布尔转换为假的情况

在ActionScript3.0中,一共有三种数据类型和三种变量的值在转换为布尔值之后为假。
一、六种布尔转换为假的情况
多数数据类型或变量值转换成布尔值之后均为真,因此我们只需记住哪些情况为假即可。转换成布尔值之后为假的情况一共有6种:
void, undefined,null, ”(这里不是双引号,是两个单引号,表示空字符串,亦可以用“”表示), 0(不是噢,是零), false,Number.NaN
前2个为数据类型,是AS3中两个特殊的数据类型,可以称之为常量数据类型,因为它们的值是固定不变的。后面4个是数据类型的特殊值。null为未实例化的空对象,”为空字符串,0与Number.NaN为数值类型的特殊值,false为布尔假。

二、代码实验:验证上述六种情况
可以用以下代码验证,以下trace均为false,除此之外的情况,例如非null对象,不等于0的数字等等均为true:

1
2
3
trace( Boolean(<span style="color: #0000ff;">void</span>),
 Boolean(<span style="color: #0000ff;">null</span>),
 Boolean(undefined), Boolean(''), Boolean(0), Boolean(Number.NaN) );

不少初学AS3的人只知道当字符串为null时,其值为假,其实为空时,亦为假。

三、简单应用举例
在XML操作中,经常会遇到判断一个属性是否被定义的情况,如下:

1
if (undefined != node.@name)

其实不需要undefined关键字,只需要写成这样便可以:

1
if (node.@name)

undefined关键字太长,写起来是一件很麻烦的事情:)

版权所有:为网站而疯狂-给站长一个五星级的家转载请注明来源,谢谢!

还不快抢沙发       我也不甘寂寞

我看不过去了,也来两句 返回»  

友情提示:
1、请勿发表色情、违法、商业广告等信息,谢谢。
2、留言想要有头像?请看 “我” 的。