变量可用来存储程序中使用的值。要声明变量,必须将 var 语句和变量名结合使用。在 ActionScript 2.0 中,只有当您使用类
型注释时,才需要使用 var 语句。在 ActionScript 3.0 中,总是需要使用 var 语句。例如,下面的 ActionScript 行声明一个名
为 i 的变量:
var i;
如果在声明变量时省略了 var 语句,则在严格模式下会出现编译器错误,在标准模式下会出现运行时错误。例如,如果以前未
定义变量 i,则下面的代码行将产生错误:
i; // error if i was not previously defined
var i:int;
var i:int; i = 20;
var i:int = 20;通常,在声明变量的同时为变量赋值的方法不仅在赋予基元值 (如整数和字符串)时很常用,而且在创建数组或实例化类的实
var numArray:Array = ["zero", "one", "two"];
var customItem:CustomClass = new CustomClass();
var a:int, b:int, c:int;
var a:int = 10, b:int = 20, c:int = 30;
变量的范围是指可在其中通过词汇引用来访问变量的代码区域。全局变量是指在代码的所有区域中定义的变量,而局部变量是
指仅在代码的某个部分定义的变量。在 ActionScript 3.0 中,始终为变量分配声明它们的函数或类的作用域。全局变量是在任
何函数或类定义的外部定义的变量。例如,下面的代码通过在任何函数的外部声明一个名为 strGlobal 的全局变量来创建该变
量。从该示例可看出,全局变量在函数定义的内部和外部均可用。
var strGlobal:String = "Global"; function scopeTest() { trace(strGlobal); // Global } scopeTest(); trace(strGlobal); // Global
function localScope() { var strLocal:String = "local"; } localScope(); trace(strLocal); // error because strLocal is not defined globally如果用于局部变量的变量名已经被声明为全局变量,那么,当局部变量在作用域内时,局部定义会隐藏 (或遮蔽)全局定义。
var str1:String = "Global"; function scopeTest () { var str1:String = "Local"; trace(str1); // Local } scopeTest(); trace(str1); // Global
function blockTest (testArray:Array) { var numElements:int = testArray.length; if (numElements > 0) { var elemStr:String = "Element #"; for (var i:int = 0; i < numElements; i++) { var valueStr:String = i + ": " + testArray[i]; trace(elemStr + valueStr); } trace(elemStr, valueStr, i); // all still defined } trace(elemStr, valueStr, i); // all defined if numElements > 0 } blockTest(["Earth", "Moon", "Sun"]);
trace(num); // NaN var num:Number = 10; trace(num); // 10
num = 5; trace(num); // 5 var num:Number = 10; trace(num); // 10
数据类型 | 默认值 |
Boolean | false |
int | 0 |
Number | NaN |
Object | null |
String | null |
uint | 0 |
未声明 (与类型注释 * 等效) | undefined |
其它所有类 (包括用户定义的类) 。 | null |
AS3 初学笔记 actionscript-之变量,布布扣,bubuko.com
原文:http://blog.csdn.net/mxxlevel/article/details/38499327