|
第九页:数组和循环 (
)
数组是一项非常有用的东西,因为你可以循环调用数组中的各个元素执行某项功能。以下是循环显示一个URL数组中的各个元素的例子。
首先,要使该例子发挥作用,我们需要声明一些变量:
var url_names = new Array("hits.org","awaken.org","bianca.com");
var a_url;
接下来,我们循环调用数组中的各个元素,打开每个URL并对待用户点击alert框的OK按钮:
for (loop = 0; loop <url_names.length; loop++)
{
// make the name of a url, for example http://www.hits.org/
a_url = "http://www." + url_names[loop] + "/";
// open a window
var new_window=open(a_url,"new_window",
"width=300,height=300");
// wait for the click
alert("hit ok for the next site");
}
首先,你会注意到循环从0一直到url_names.length这个变量。将.length放在数组名的后面由于告诉你数组中有多少个元素。但是,注意数组元素的数目同数组最后一个元素的索引号(顺序号)不同。如果数组中有3个元素,则数组的长度为3,但是数组中最后一个元素的索引号却是array[2].。这是因为数组中第1个元素的索引号是array[0].。如果你执行数组调用时得到诸如"object
not found" 的错误信息,而你的代码中有一个数组,则有可能是因为你将数组元素的索引号同数组中元素的数目混淆了。
不也许还会注意到将.length放在数组的结尾处很有点想给一个对象附加一些属性。这是因为数组本身就是对象,而length就是数组的一项属性。
数组术语对象的另一个表现是:你需要用新指令才能生成新的数组。在上例中,url_names = new Array(......)
实际可以解释为:生成一个新数组,用url_names对其做一个引用。你可以注意到单词"new"
以这种方式被应用时,就生成了一个新的对象。
循环中的第1行生成一个变量。其赋值为一个字符串。
a_url = "http://www." + url_names[loop] + "/";
循环开始时,变量循环的初始值为0。url_names数组的第1个元素是字符串"hits.org".,所以在第一次循环中,变量a_url等值于字符"http://www.hits.org/".。
循环的下一行用该URL打开一个窗口
var new_window=open(a_url,"new_window",
"width=300,height=300");
由于每次打开窗口时我们给窗口起的名称都一样,所以在转到新的URL时,不会打开许多窗口。如果我们在上例中去掉窗口名称"new_window",则每次循环时就会打开一个新窗口。
循环的第3行只是打开一个alert框,并对待用户点击OK 按钮。
数组还可以由于其它元素,而不只是字符串。数组可以应用于JavaScript文件对象模块(Document Object Model)的各个方面。>>
JavaScript教程
第一页 第四课介绍
第二页 循环介绍
第三页 循环的密码
第四页 再谈WHILE循环
第五页 For循环
第六页 嵌套循环
第七页 循环练习
第八页 数组
第九页 数组和循环
第十页 文件目标模块中的数组
第十一页 函数
第十二页 无参数函数
第十三页 参数及返回值
第十四页 多于一个参数的函数
|