七彩课堂[FLASH动画教程系列]
用for语句对数组进行初始化
[学习目标]:掌握数组的定义、属性、方法、引用。学会用for语句对数组进行初始化。
上个教程给大家介绍了as的内置类中的String类和Number类,很简单的就是用""括起来的一串字符。
对于变量,我在前面给大家说了,就是存储数据的容器,如果在as中我们需要几十个、或者是几百个变量,命名起来就麻烦多了,调用起来就名称的记忆也不方便。好在as也为我们提供了数组这个类,有了这个类,取1个名称,然后通过后面加数字序列很方便的去调用了,另外它还有许多系统提供的方法我们去调用,比如Array.sort()和Array.sortOn() ,可以排序,比一般的变量,功能强大多了吧。
一、数组是什么?
对数组这个概念,你可以从多方面理解,它是类、是对象、是变量,所以比较直观的理解就是变量了,如果前面我们接触的变量好象一个个的分散的平房,那数组就是我们住的大楼了,到平房找人必须麻烦,在大楼找人简单,知道房间号就搞定了。
二、数组做什么用?
数组的用处很大,就是提供给我们仓库,让我们放数据的,在as编程中,我们可以放置MC等的坐标,可以保存有关联的若干串,也可以保存你从外部调入的mp3的列表,更可以在游戏flash中,保存位置、进度、状态、在跟asp结合的flash中更可以借助xml做数据的缓冲池,反正是用处太广了,所以大家必须会用数组的。
三、数组的创建
作为编程来说,养成个好习惯,先定义,再使用,这个也是必须的,数组也是这样的,要先定义,数组是属于Array类的。
假设我们在as里面需要用到4个学生的名字,一般我们是这样定义一个个的去定义变量:
var stname1, stname2, stname3,stname4;如果需要100个学生名字,更麻烦,改成现在的数组就简单多了。
1、用new 运算符来创建数组
数组是Array类,new运算符是可以创建任何类的实例的,今后我们会反复多次的用到,它的格式是:new constructor(); 这里的constructor就是函数名,是和类名相同的函数名,其实就是类的构造函数。
①、指定数目:
var stuname:Array=new Array(4);
②、也可以先不指定数目:
var stuname:Array=new Array();
③、把值一起赋上:
var stuname:Array=new Array("小狗","小猫","小猪","小狐狸"); 注意,各个值间用的是逗号呀。
2、用[] 运算符创建数组
[]是数组访问运算符,用它可以创建、赋值、动态访问数组等等
上面的例子我们也可以这样做:
①、不指定数目:
var stuname:Array=[];
②、把值一起赋上:
var stuname:Array =["小狗","小猫","小猪","小狐狸"];
看2个的区别,new可以指定数组数目,[]指定也没有意义,数组长度总是1。
四、数组元素的引用
上面我们定义了数组,也知道数组就好象变量的集合一样,那如何引用数组的每一个对象呢,在数组中每个对象有个名字叫数组元素,比如我们上面定义的stname数组就有4个元素组成的。数组元素引用就用到数组访问运送符[]了,数组名字再加个索引下标就是数组元素,比如stname[0]是第一个元素、stname[1]是第二个元素、stname[2]是第三个元素。这个索引就标识了他们的位置,一定注意,索引从0开始的。可以看出数组元素引用格式: 数组名[索引]
1、初始化
var stname:Array=new Array();
stname[0]="小狗";
stname[2]="小猫";
跟普通变量的赋值是一样的。但如果你没有第一个var stname:Array=new Array();就是错误的。
2、调用
var tempname;
tempname=stname[2];
也可以动态的调用的,比如:
var i = 3, mymc = [];
mymc[i-1] = i+1;
trace(mymc[i-1]);//结果4
可以结合后面我们介绍的循环还实现。这里的trace是个在测试模式下,计算表达式并在"输出"面板中显示结果的函数。
另外 ,用字符做索引值有时会很有用,但当在循环中检索数组是非常的不便。
my_Array = new Array();
my_Array["one"] = "张三";
my_Array["two"] = "李四";
trace(my_Array["two"]);//李四

五、数组对象的属性 属性说明
Array.length指定数组中元素数量。
比如:
var mymc = [];
trace(mymc.length);//结果0
mymc.length=98;
trace(mymc.length);//结果98
Array.length应用太广了,大家一定要记着。
六、数组对象的12个方法 方法说明
Array.concat()连接参数,并将其作为新数组返回。
Array.join()将数组内的所有元素联接为一个字符串。
Array.pop()删除数组中最后一个元素,并返回该元素的值。
Array.push()将一个或多个元素添加到数组的结尾,并返回该数组的新长度。
Array.reverse()倒转数组的方向。
Array.shift()删除数组中第一个元素,并返回该元素的值。
Array.slice()提取数组中的一部分,并将该部分作为新数组返回。
Array.sort()就地对数组进行排序。
Array.sortOn()基于数组中的某个字段对数组进行排序。
Array.splice()在数组中添加元素和删除元素。
Array.toString()返回表示 Array 对象中元素的字符串值。
Array.unshift()将一个或多个元素添加到数组的开头,并返回该数组的新长度。
七、for语句
前面我给大家说了选择语句,根据不同的条件去执行不同的语句,现在再给大家介绍个循环语句,循环就是反复的去做,就好比体育课老师让你围着操场跑步,你就一圈圈的跑呀跑的,什么时间停止呢,老师喊停或者你累了、摔到了,老师喊停,是让你永远不跑了,摔到了、累了是暂时的停,起来还要继续的,看,停止的情况不一样的。在编程中是一样的,循环的执行语句,要有停止条件的,否则就是死循环了,在循环中,有2个语句是来控制循环停止的,①break;②continue; 2个就跟我们上面的例子类似,break;就是永远的退出循环,就是老师喊停让你打球去,continue;就是停止本次循环,休息完你接着跑了。循环有多个语句形式:①for ②for in ③ while④do while,这里我们介绍for语句。
for是个计数循环,就是循环的次数是教定的。它的格式是:
for(init; condition; next) {
循环做的事情;
}
在这里init是初始条件,condition是个条件,满足这个条件就循环。next就个记数变化的量。
比如我们要给数组元素赋偶数:
my_array=new Array();
for(i=0; i<10; i++) {
my_array [i] = i*2;
}
trace(my_array.jion("--"));//0--2--4--6--8--10--12--14--16--18
for(i=0; i<my_array.length; i++) {
trace(my_array[i]);
}
赋值引用都特别的简单。
八、多维数组
多维数组就是数组元素本身也是数组,比如我们要在as中创建个4个同学的2门成绩的成绩单。就好象一个表格了,每行是一个学生的成绩,有4行。每列是具体的一门成绩,共4列。用数组表示:
①//定义我们的二维数组
var my_Array = new Array(4);
for (var i = 0; i<my_Array.length; i++) {
my_Array[i] = new Array(2);
}
②也可以这样:
var my_Array = new Array();
for (var i=0; i<4; i++) {
my_Array.push(new Array(2));
}
③更简单可以通过嵌套括号来模拟多维数组。
my_Array = [[98,89],[50,60],[100,90],[77,90]];
数组元素我们可以用个表格表示:
my_Array[0][0] my_Array[0][1]
my_Array[1][0]my_Array[1][1]
my_Array[2][0]my_Array[2][1]
my_Array[3][0]my_Array[3][1]
行:第一索引。列:第二索引
访问二维数组元素的格式:数组名[行索引][列索引]
my_Array= [[1,2,3],[4,5,6],[7,8,9]];
for (var i=0; i<3; i++) {
for(var ji=0;j<3;j++)
trace(my_Array[i][j];
}
var temp=my_Array[2][0];
trace(temp);//7
这里用了循环的嵌套来对二维数组赋值或者引用的,外层循环次数是行数、内层循环是列数。

 
信息推荐
资讯中心 | 电子商务 | 搜索营销 | 设计学院 | 中医养生 | 养生保健 | 节日祝福 | 民俗文化 | 奇闻趣事
建站知识 | 人世百态 | 网站导航 | 传统节日 | 搜索热点 | 星座运势 | 趣闻轶事 | 祝福的话 | 短信大全
© 2023 QicaiSpace.Com