明确的知道哪些数值(或数据类型)转换成布尔值之后为假,可以使程序更加简洁。在AS3中,一共有三种数据类型和三种变量的值在转换为布尔值之后为假。
七种布尔转换为假的情况多数数据类型或变量值转换成布尔值之后均为真,因此我们只需记住哪些情况为假即可。转换成布尔值之后为假的情况一共有6种:
void, undefined,null, ”(这里不是双引号,是两个单引号,表示空字符串,亦可以用“”表示), 0(不是噢,是零), false,Number.NaN
前2个为数据类型,是AS3中两个特殊的数据类型,可以称之为常量数据类型,因为它们的值是固定不变的。后面4个是数据类型的特殊值。null为未实例化的空对象,”为空字符串,0与Number.NaN为数值类型的特殊值,false为布尔假。
代码实验:验证上述七种情况可以用以下代码验证,以下trace均为false,除此之外的情况,例如非null对象,不等于0的数字等等均为true:
trace( Boolean(void), Boolean(null), Boolean(undefined), Boolean(''), Boolean(0), Boolean(Number.NaN) );不少初学AS3的人只知道当字符串为null时,其值为假,其实为空时,亦为假。
简单应用举例在XML操作中,经常会遇到判断一个属性是否被定义的情况,如下:
if (undefined != node.@name)其实不需要undefined关键字,只需要写成这样便可以:
if (node.@name)undefined关键字太长,写起来是一件很麻烦的事情