JavaScript之数组学习

在JavaScript中,数组用关键字Array来声明。声明数组的同时还能够指定数组初始元素的大小,也就是数组的长度;下面代码定义了一个数组长度为6的数组;数组

var beatles=Array(6);

固然在JavaScript里面能够不声明数组的长度,这彻底是能够的!下面代码为没有定义长度的数组,理论上你往里面添加多少元素都没问题;浏览器

var beatles=Array();

分析如下代码:spa

var array = Array(2);
array[0] = "H";
array[1] = "E";
array[2] = "L";
array[3] = "L";
array[4] = "O";
alert(array.length);

这段代码定义了一个长度为2的数组,可是实际却给它添加了5个值,超出开始定义的长度,浏览器试运行,输出5,可是js报错uncaught exception: out of memory,超出数组定义的长度;code

 

给数组赋值的方式一共有三种,下面是具体代码:对象

1.经过数组下标来给数组赋值blog

var array = Array();
array[0] = "H";
array[1] = "E";
array[2] = "L";
array[3] = "L";
array[4] = "O";

2.在声明数组的同时给数组赋值ip

var array = Array("H", "E", "L", "L", "O");

3.咱们甚至不用明确代表咱们是在建立数组,只需用一对双括号把各个初始值的初始值括起来就好了;字符串

var array = ["H", "E", "L", "L", "O"];

 

 

Important:数组的元素类型;io

1.数组的元素类型没必要非得是字符串,能够是数值,能够使bool值;class

var array = ["A", false, 12, 1245.1];
for (var i = 0; i < array.length; i++) {
   alert(array[i]);
}

依次输出:A,false,12,1245.1;    他们都是不一样的数据类型;

 

2.数组的元素能够是一个变量;

var param = "change";
var array = ["A", false, 12, param];
for (var i = 0; i < array.length; i++) {
    alert(array[i]);
}

依次输出:A,false,12,change;  输出param的变量值;

3.数组的元素能够是另外一个数组的元素;

var param = "change";
var
array = ["A", false, 12, param]; var beatles = ["B", true, 36]; array[0] = beatles[1]; for (var i = 0; i < array.length; i++) { alert(array[i]); }

依次输出:true,false,12,change;    这里注意原先的值会被覆盖A被覆盖成true;

4.数组的元素还能够是另外一个数组

var param = "change";
var array = ["A", false, 12, param];
var beatles = ["B", true, 36];
array[0] = beatles;
for (var i = 0; i < array.length; i++) {
     alert(array[i]);
}

依次输出:"B,true,36",false,12,change;   注意若要输出beatles数组中的某一个元素,代码以下:

alert(array[0][1]);

 

总结到这,以前所用到的数组都是传统数组,每一个元素的下标是一个数字,每次往数组中增长一个元素,下标就加一,若是在填充数据的时候只给出元素的值,这个数组将是一个传统数组,他的各个元素的下标将被自动建立个刷新;

关联数组根据上面的总结得出,咱们能够经过在填充数组时,为每一个新元素明确的给出下标来改变这种默认的行为;在为新元素给出下标时,没必要局限于使用整数,能够使用字符串,以下代码所示:

var lenovo = Array();
lenovo["name"] = "联想";
lenovo["year"] = "1994";
lenovo["living"] = false;
alert(lenovo.length);

 

这就是关联数组。因为能够使用字符串来代替数字值下标,于是代码更具可读性,可是这种用法并非一个好习惯,不推荐使用。在JavaScript中,事实上全部的变量都是某种类型的对象,好比一个布尔值,就是一个Boolean类型的对象,一个数组就是一个Array类型的对象。在上面那段代码中,其实是给lenove数组对象添加了name,year,living,三个属性;通常状况下,咱们不该该修改Array对象的属性;

相关文章
相关标签/搜索