| 首页 | 新闻 | 网页 | 设计 | 色彩 | 原创 | 视觉 | 素材 | 动漫 | 酷站 | 策划 | 文案 | 访谈 | 运营 | 编程 | 数据库 | 服务器 | 下载 | 图库 | 
您的位置: 幽幽天空 > 网页 > 网页制作 > Flash教程 > ActionScript教程 > 文章正文 用户登录
[域名相关]      
正确的网站定位是
分析网络风险投资
FLASH 编程心得 语
FLASH入门及学AS编
了解在Flash中的编
基础动画范例(歪
FLASH基础的一些心
AS 良好的编程习惯
关于面向对象编程

编程基础讲解           

编程基础讲解

作者:佚名 来源:闪吧 作者: 0312 更新:2007-1-13 20:48:31 错误报告 我要投稿

本来想自己写一个关于数组得教程的,结果今天发现一个不错的关于数组得教程,就省力气了,嘿嘿.
作者:   FlashGuru



如果你对数组感性趣的话,那么你也一定了解变量吧。变量是装着数据的容器,数据可以是数字、字符串或者是个布尔值。(0312:数字,字符串不用我解释了吧,布尔值只能为假和真,通常与逻辑运算符连用来进行控制程序的流程)

数组与变量相似同样是做为数据的容器,但它还能包含更多的数据,每一个元素(数据中的一部分)都被附于一个索引。

数组可以用来保存你的脚本和组织结构,它们通常用来去组织一些在某些方面有些关联的数值,这些数值采用一个索引值
与数组中其它的元素区分开来。你可以用下面这个方法   去定义   3个变量::   

quote1="Flash   is   cool!"   
quote2="Flash   is   my   favourite   program"            (0312:这些就是字符串型了)
quote3="Flash   rules"   

显然有一个更好的方法   去实现上面的例子   那就是   使   用   数组。有很多的方法可以创建   一个数组,但我首先展示的是最简单的方法:

name_of_array=new   Array()   

所以我们想去引用一个数组的话,就用这个:

quotes=new   Array()   

很好,现在我们有了一个数组了,但问题是那里面没有任何的数据,它是没有用处的,所以我们现在把数据放到我们的数组里面,我们
用一个索引号码去定义它在数组中的位置。


我们可以用下面的方法   把第一个元素放到数组中:

quotes[0]="Flash   is   cool!"   

我要说的是在Flash   中数组索引下标是基于0的,意思是在数组中的第一个元素它的索引值为0。因此我们可以在我们的数组中的第二个元素中放入一个数据:

quotes[1]="Flash   is   my   favourite   program"         (0312:数组中得第一个元素下标为0.第二个下标为1,依此类推.)

使用如下语法可以添满数组内所有元素:

name_of_array[index]=value   

说明:上面的name_of_array是你数组的名子,index是你想要增加到你的数组中数据的位置。因此我们更早的创建了使用变量的代码:

quote1="Flash   is   cool!"   
quote2="Flash   is   my   favourite   program"   
quote3="Flash   rules"   


也可以被写成这样:

quotes=new   Array()   
quotes[0]="Flash   is   cool!"   
quotes[1]="Flash   is   my   favourite   program"   
quotes[2]="Flash   rules"   

我们还可以采有如下的语法去创建:

name_of_array=new   Array("value1","value2","value3")   这是一个在一行代码中   实现的,value1   是数组中第一个元素   value2是数组中第二个元素,以此类推。我们使用如下语法创建我们引用的数组:

quotes=new   Array("Flash   is   cool!","Flash   is   my   favourite   program","Flash   rules")   

现在我们知道该如何创建数组,并且如何去使用,在下面的这个语法中同样可以去创建   一个数姐:

name_of_array=["value1","value2","value3"]   

这个与前面不同的是   没有使用数组对像(new   Array())
所以我们可以这样创建引用的数组   代码如下:

quotes=["Flash   is   cool!","Flash   is   my   favourite   program","Flash   rules"]   

我不管你用什么方法做做,但我还是喜欢用这最后一个方法去创建数组,它是如此的简单。
现在我们知道   怎么创造数组,但是有时你想在脚本中访问你的数组,嗯   幸运的是还有一种方法可以实现它:

mynewvariable=name_of_array[index]      (0312:注意每个词的代表意义)

那么我们想去为一个新的变量附值为数组中第一个元素的值话   请这样做:

firstquote=quotes[0]   

这个名为firstquote的新变量值就是“Flash   is   cool!”   

在脚本中数组的实现
设想一下   如果我们想得出数组中所有的元素,但是我们并不知道数组中有多少个元素啊,还好的是Flash中为
数组对像设置了若干属性与方法,其中有一个属性为Length可以得出该数组中元素的个数。
语法如下:

myarraylength=name_of_array.length   

上面的这段代码创建了一个新变量,里面的值   就是你所指定的数组对像(name_of_array)元素的个数。
在我们引用数组的情况中,使用下面的代码得到数组中元素的个数:
假如quotes是一个数组的话那么   
len=quotes.length   这个len变量   的值   就是该数组的长度

数组的长度等于它的最高索引值加1。最高索引值如果是2的话那么这个数组的长度就是3,也就是说它里面有
3个元素,原因就在于Flash   5中   数组下标是基于0的。

现在我们知道了如何去用数组的Length属性了,采用下面的脚本可以得出数级中所有元素的值。

for(z=0;z<name_of_array.length;++z){   
write(name_of_array[z])
}   

让我们逐步来分析一下上面的代码。
首先创建了一个临时的变量   z

z=0   

下列的代码是一个循环的条件,当变量z小于数组的元素长度就循环

z<name_of_array.length   

然后   再作变量z的增量   使它本身加1   ;
++z   

你可以在这里面放入你需要的代码   它们会被执行(name_of_array.length的值)次

for(z=0;z<quotes.length;++z){   
...
}   


Associative   arrays:   

关联数组可以提供另一种存储信息的方法,用它你可以实现采用字符串做为数组的下标而不是一个数字,这样会更容易记忆。
这样的不便是在循环中不能被采用,因为它不是一个数值。      (0312:我怀疑上次讲解for   in   语句时得例子,是个关联数组,只是语法不对,研究中....)

关联数组的定义与变通数组是相同的,而唯一不同的是它采用字符串   作为索引下标

请看下面的例子,我们定义一个汽车的数组:

mycars=new   Array()   
mycars[0]="peugoet   306"   
mycars[1]="citreon   saxo"   
mycars[2]="ford   fiesta"   

这是关联数组的格式:

mycars=new   Array()   
mycars["fast"]="peugoet   306"   
mycars["sporty"]="citreon   saxo"   
mycars["old"]="ford   fiesta"   

用字符做索引值有时会很有用,但当在循环中检索数组是非常的不便。   

现在当要得到这种类型数组中的值,你就得用字符串做为索引了,参照上面的例子写出:   

mysportycar=mycars["sporty"]   

结果就是变量mysportyca的值   就是"citreon   saxo"















文章录入:skyuu    责任编辑:skyuu 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    发表评论:
    姓名:  评 分: 1分 2分 3分 4分 5分
     
  • 严禁发表危害国家安全、政治、黄色淫秽等内容的评论。
  • 用户需对自己在使用幽幽天空服务过程中的行为承担法律责任。
  • 本站管理员有权保留或删除评论内容。
  • 评论内容只代表机友个人观点,与本网站立场无关。