上一篇我们讲到了JavaScript中支持的数据类型,其中,数值(Number),字符串值(String)和布尔值(Boolean),被称为“简单数据类型”,其特征是每次只能代表一个值。相对的,数组、对象和我们待会要单独提出来说的Date对象,能够同时存储多种信息,被称为“复杂数据类型”。
1. 数组(Array)
1.1 创建数组
上一节,我们已经初步说过数组的特性了。数组用于在单一变量中存储多个值。创建数组的方式有两种,第一种就是之前介绍的,直接采用文本语法创建,这种创建方式是最常用的,也是推荐使用的:
var array-name = []; //空数组
var array-name = [item1, item2, ...];
另一种方法,就是使用JavaScript关键词 new:
var array-name = new Array(); //空数组
var array-name = new Array(item1, item2, ...);
这种使用new来创建数组的语法,被称为“对象语法”。出于简洁、可读性和执行速度的考虑,在能使用文本方法创建变量的时候,尽量使用文本方法。
1.2 访问数组元素
对于简单变量,我们可以直接用变量名来访问变量值;对于储存多个值的复杂变量,使用alert()或console.log()会显示所有值,但是不能访问单个值:
var people = ["张三","李四","王五"];
console.log(people); //控制台显示
alert(people); //将数组转化为一个字符串
数组中的项目常被称为元素,对于具体的元素,我们可以通过方括号加索引的方式访问,之前也介绍过:
var people = ["张三","李四","王五"];
people[0] //"张三"
如果向寻找数组中元素位置,可以用indexOf()和lastIndexOf()方法,用法与字符串中的相同方法一致,返回找到的数组值的索引位置,如果该值在数组中不存在,两个方法都返回-1。而且这两个方法中都可以使用可选择的第二个参数,用于指定开始搜索的位置。
如果向访问数组中的所有元素,可以使用for-in循环遍历数组:
var x
var myCars = new Array()
myCars[0] = "Ford"
myCars[1] = "Volvo"
myCars[2] = "BMW"
for (x in myCars)
{
document.write(myCars[x] + "<br />")
}
当然,已知数组的索引从0开始,其长度为array.length,也可以直接用for循环遍历:
count = myCars.length
for ( var i = 0; i < count; i++)
{
document.write(myCars[x] +