flash as2 中括号“[ ]”的用法
运算符;用指定的元素(a0,等等)初始化新数组或多维数组,或者访问数组中的元素。数组访问运算符使您能够动态地设置和获取实例、变量和对象的名称。它还使您能够访问对象属性。
用法 1:数组是一种对象,其属性称作“元素”,这些元素由名为“索引”的数字逐一标识。创建数组时,需用数组访问运算符(或“括号”)括住元素。一个数组可以包含各种类型的元素。例如,下面这个名为 employee 的数组拥有三个元素;第一个是数字、另外两个是字符串(在引号内)。
employee = [15, "Barbara", "Erick"];
用法 2:可以通过嵌套括号来模拟多维数组。下面的代码创建一个名为 ticTacToe 且含有三个元素的数组;而每个元素也是一个具有三个元素的数组。
ticTacToe = [[1,2,3],[4,5,6],[7,8,9]];
// choose Debug > List Variables in test movie mode
// to see a list of the array elements
用法 3:用括号括住每个元素的索引可直接对其进行访问;这样可以向数组添加新元素以及更改或获取现有元素的值。数组中第一个元素的索引永远是 0:
myArray[0] = 15;
myArray[1] = "Hello";
myArray[2] = true;
可以使用括号来添加第四个元素,如下所示:
myArray[3] = "George";
用法 4:括号可用于访问多维数组中的元素。第一对括号标识原始数组中的元素,第二对括号标识嵌套数组中的元素。下面的几行代码将数字 6 发送到输出窗口。
ticTacToe = [[1,2,3],[4,5,6],[7,8,9]];
trace(ticTacToe[1][2]);
// returns 6
用法 5:您可以用数组访问运算符代替 eval 函数,从而动态地设置并获取影片剪辑名称的值或一个对象的任何属性:
name["mc" + i] = "left_corner";
原理什么的不好回答 计算机语言就是人依照习惯或约定俗成的规律设计的 就像"苹果"叫APPLE一样 没什么原理~
示例
用法 1:下面的代码范例说明新建空 Array 对象的两种不同方式;第一行使用括号。
myArray =[];
myArray = new Array();
用法 1 和 2:下面的示例创建一个名为 employee 的数组,并使用 trace 动作将这些元素发送到输出窗口。在第四行中,更改数组中的一个元素,而第五行将刚修改过的数组发送到输出窗口:
employee=["Barbara", "George", "Mary"];
trace(employee);
// Barbara, George, Mary
employee[2]="Sam";
trace(employee);
// Barbara, George, Sam
用法 3:在下面的示例中,计算括号中的表达式 ("piece" + i) 并将结果用作要从影片剪辑 mc 中获取的变量名。在此示例中,变量 i 与所释放的按钮必须在同一个时间轴上。例如,如果变量 i 等于 5,那么在影片剪辑 mc 中的变量 piece5 的值将显示在输出窗口中:
on(release){
x = mc["piece"+i];
trace(x);
}
用法 3:在下面的代码中,计算括号中的表达式并将结果用作要从影片剪辑 name 中获取的变量名:
group["A" + i];
如果您熟悉 Flash 4 动作脚本的斜杠语法,可以使用 eval 函数来达到同样的结果:
eval("A" & i);
用法 3:您还可以在赋值语句的左侧使用数组访问运算符,从而动态地设置实例、变量和对象的名称:
name[index] = "Gary";