as3备忘五-变量

1、用var声明变量,用:指定变量类型,若不指定类型,严格模式下会出现编译错误。正确的如如var v:int=1;

 

2、与java不同的是,在as3中,变量没有块级作用域(即两人大括号中间),如果在一个块内声明了一个变量,比如一个for循环内声明了一个变量,它在该代码所在整个函数内都是可访问的。 如:

function myFunction():void{
       for(var i:int=0;i<5:i++){
             var last:int = i;
        }
       trace(last);
}

 看上面的代码,变量last虽然是在for代码块内部声明的,但在代码块外部也是可以访问的,只要不超出函数体。

 

3、 何为“提升”?as3会把所有的声明提到函数体的顶部。也就是说你可以使用一个变量,只要这个变量在函数体内被声明过,但不在乎它声明的位置,哪怕是在函数体的结尾。或者可以说,变量是可以先使用再声明的,这是从代码表面来看的,因为内部机制来说,as3会把所有的声明放到函数体的顶部执行,实际上还是先声明再使用的。 如:

function myFunction():void{
     trace(num);         // NaN
     var num:Number=10;  
     trace(num);         //10
} 

上面的代码也是合法的。但是第一个trace(num)会生成NaN,这是因为编译器只会提升声明,而不会提升任何赋值语句。 第二个trace(num)生成10.你也可以先赋值再声明,如:

function myFunction():void{
     num=5;
     trace(num);       //5
     var num:Number=10;
} 

 

 

4、无类型变量。 声明一个变量时如果指写它的类型为*,它就是无类型变量,也是变量的默认类型,即如果声明一个变量,但没指定它的类型,它的类型就是*。下面的两个变量都是无类型变量:
var aa;
var bb:*;
 
5、当声明一个变量,但没有赋值时,系统会为它分配一个默认值,不同类型的变量默认值是不同的。
数据类型                                 默认值

Boolean                                false
int                                         0
Number                                 NaN
Object                                   null
String                                    null
uint                                       0
未声明(与类型注释 * 等效)     undefined
其它所有类(包括用户定义的类)null
  •  无类型变量的默认值是undefined
  • Boolean、int、Number、uint之外所有类型变量的默认值都是null。而将undefined赋值给这部分变量时,赋的值就会转换成null.
  • null对 Boolean、int、Number、uint这四种类型变量是无效的,当将null赋值给这四种类型变量时,会将null值转换为它们对应的默认值。如:
    var i:int;
    i = null;
    trace(i);           //0
    如i的值还是为0;
本文地址:http://kino.iteye.com/blog/235533 ,转载请注明,谢谢!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值