开发者社区> 余二五> 正文

Javascript数组

简介:
+关注继续查看
JavaScript允许我们使用一个数组(Array来存储和访问相关的数据。一个数组有点像一行单元格(元素),每个单元格包含一个独立的数据项。一个数组可以存储JavaScript支持的任何数据类型。因此,举例来说,你可以使用一个数组来处理用户用来选择的项目列表,或者一批图象坐标,或者一组图像的引用。
Array对象,类似String Date对象,需要使用new关键字和构造函数来创建。我们可以在创建它的时候初始化一个数组对象:
var preInitArray = new Array( "First item", "Second item",
"Third Item" );
或者设置它来保存一定数目的数据像:
var preDeterminedSizeArray = new Array( 3 );
或者只创建一个空数组:
var anArray = new Array();
你可以通过为这些元素赋值的方式来为数组添加新的数据项:
anArray[0] = "anItem"
anArray[1] = "anotherItem"
anArray[2] = "andAnother"
                                                                                  
 
n        提示:你可以不使用array()构造函数;而且使用简写符号是很有效的:
var myArray = [1, 2, 3];
var yourArray = ["red", "blue", "green"]
                                                                                  
 
只要你构造了一个数组,我们就可以使用中括号,通过索引和位置(它也是基于0开始的)来访问它的元素:
<html>
<body>
<script type="text/javascript">
var preInitArray = new Array( "First Item",
"Second Item", "Third Item" );
document.write( preInitArray[0] + "<br>" );
document.write( preInitArray[1] + "<br>" );
document.write( preInitArray[2] + "<br>" );
</script>
</body>
</html>
如果你想循环遍历整个数组,使用索引数来存储数据项是非常有用的,我们下面会看一下循环。
你可以不使用数字索引而使用关键字来访问数据元素,像这样:
<html>
<body>
<script type="text/javascript">
// Creating an array object and setting index
// position 0 to equal the string Fruit
var anArray = new Array( );
anArray[0] = "Fruit";
// Setting the index using the keyword
// 'CostOfApple' as the index.
anArray["CostOfApple"] = 0.75;
document.write( anArray[0] + "<br>" );
document.write( anArray["CostOfApple"] );
</script>
</body>
</html>
关键字在下面的一些情况下是非常有效的,在你可以给数据分配有用地标签,或者你存储一些只有在上下文中才有效的实体的地方,如一个图像坐标列表。可是,如果它们已经使用关键字被设置了,那么你不能使用索引数来访问实体(在一些其他的语言中是可以的,如PHP)。我们也可以使用变量作为索引。我们使用变量(一个保存一个字符串,另一个保存一个数字)代替文本值,改写一下前面的例子:
<html>
<body>
<script type="text/javascript">
var anArray = new Array( );
var itemIndex = 0;
var itemKeyword = "CostOfApple";
anArray[itemIndex] = "Fruit";
anArray[itemKeyword] = 0.75;
document.write( anArray[itemIndex] + "<br>" );
document.write( anArray[itemKeyword] );
</script>
</body>
</html>
 
让我们把已讨论过的数组和Math对象的知识应用到一个例子中。我们会写一个简单的脚本,它随机的选取一个广告横幅显示到网页的顶部。
我们会使用一个数组对象来保存一些图像的源文件名,如下:
var bannerImages = new Array();
bannerImages[0] = "Banner1.jpg";
bannerImages[1] = "Banner2.jpg";
bannerImages[2] = "Banner3.jpg";
bannerImages[3] = "Banner4.jpg";
bannerImages[4] = "Banner5.jpg";
bannerImages[5] = "Banner6.jpg";
bannerImages[6] = "Banner7.jpg";
接着我们需要六个对应名字的图片,放在和HTML网页相同的文件夹里。你可以使用你自己的图片或者从网站[url]http://www.beginningjavascript.com[/url]下载我自己的。
接下来我们会初始化一个新的变量,randomImageIndex,使用它来产生一个随机数。在这里我们会使用与前面曾经用过的产生一个随机掷骰子相同的方法,但是不用在结果上加1,因为我们需要产生一个06之间的随机数:
var randomImageIndex = Math.round( Math.random( ) * 6 );
然后我们会使用document.write()把随机选择的图片写到网页中。下面是它的完整的代码:
<html>
<body>
<script type="text/javascript">
var bannerImages = new Array( );
bannerImages[0] = "Banner1.jpg";
bannerImages[1] = "Banner2.jpg";
bannerImages[2] = "Banner3.jpg";
bannerImages[3] = "Banner4.jpg";
bannerImages[4] = "Banner5.jpg";
bannerImages[5] = "Banner6.jpg";
bannerImages[6] = "Banner7.jpg";
var randomImageIndex = Math.round( Math.random( ) * 6 );
document.write( "<img alt=\"\" src=\"" + 
bannerImages[randomImageIndex] + "\">" );
</script>
</body>
</html>
上面就是与之相关的所有东西了。使广告横幅不断的变化比每次访问网页的时候都显示同样的横幅广告更加容易引起访问者的注意,当然,它还会给访问者一个印象,这个站点在经常地被更新。









本文转自 牛海彬 51CTO博客,原文链接:http://blog.51cto.com/newhappy/76997,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
19575 0
阿里云ECS云服务器初始化设置教程方法
阿里云ECS云服务器初始化是指将云服务器系统恢复到最初状态的过程,阿里云的服务器初始化是通过更换系统盘来实现的,是免费的,阿里云百科网分享服务器初始化教程: 服务器初始化教程方法 本文的服务器初始化是指将ECS云服务器系统恢复到最初状态,服务器中的数据也会被清空,所以初始化之前一定要先备份好。
14579 0
使用OpenApi弹性释放和设置云服务器ECS释放
云服务器ECS的一个重要特性就是按需创建资源。您可以在业务高峰期按需弹性的自定义规则进行资源创建,在完成业务计算的时候释放资源。本篇将提供几个Tips帮助您更加容易和自动化的完成云服务器的释放和弹性设置。
18617 0
如何设置阿里云服务器安全组?阿里云安全组规则详细解说
阿里云安全组设置详细图文教程(收藏起来) 阿里云服务器安全组设置规则分享,阿里云服务器安全组如何放行端口设置教程。阿里云会要求客户设置安全组,如果不设置,阿里云会指定默认的安全组。那么,这个安全组是什么呢?顾名思义,就是为了服务器安全设置的。安全组其实就是一个虚拟的防火墙,可以让用户从端口、IP的维度来筛选对应服务器的访问者,从而形成一个云上的安全域。
16957 0
阿里云服务器安全组设置内网互通的方法
虽然0.0.0.0/0使用非常方便,但是发现很多同学使用它来做内网互通,这是有安全风险的,实例有可能会在经典网络被内网IP访问到。下面介绍一下四种安全的内网互联设置方法。 购买前请先:领取阿里云幸运券,有很多优惠,可到下文中领取。
18518 0
+关注
20381
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
OceanBase 入门到实战教程
立即下载
阿里云图数据库GDB,加速开启“图智”未来.ppt
立即下载
实时数仓Hologres技术实战一本通2.0版(下)
立即下载