1、数组(Array):数组也是一个对象,是一个用来存储数据的对象,和Object类似,但是它的存储效率比普通对象要高(所以在开发中,经常使用数组来开发一些数据),不同的是,普通对象以字符串作为属性名的,数组是使用数字作为索引操作元素,(注意:属性在对象里叫属性,在数组里叫元素,实际上都一样;即在对象中使用属性名,在数组中使用索引,在对象中使用属性值,在数组中使用元素)
- 数组中保存的内容我们称为元素
- 数组使用索引(index)来操作元素
- 索引指由0开始的整数
-使用typeof来检查一个数组时,会返回一个object
-当数组里没有添加任何内容时,在控制台会输出" ",表示他是一个空数组
- 数组的操作:
- 创建数组:
- var arr = new Array();使用构造函数添加数组时,也可以同时添加元素,将要添加的元素作为函数的参数传入,元素之间使用逗号隔开
- var arr = [];使用自面量来创建数组,使用字面量来创建数组时,可以在创建时就指定数组中的元素
注意下图的两者的区别:
- 向数组中添加元素
- 语法:
数组对象[索引] = 值;
arr[0] = 123;
arr[1] = "hello";
注意:数组中的数据可以是任意的数据类型,也可以是对象,也可以是一个函数,也可以是一个数组(即数组里面放数组,这样得数组我们称之为二维数组)
-读取数组中的元素:
-语法:
数组对象[索引]
注意:读取不存在的索引,他不会报错,而是会返回一个undefined
- 创建数组时直接添加元素:
- 语法:
var arr = [元素1,元素2....元素N];
- 例子:
var arr = [123,"hello",true,null];
- 获取和修改数组的长度:
- 使用length属性来操作数组的长度
- 获取长度:
数组.length
- length获取到的是数组的最大索引+1
- 对于连续的数组,length获取到的就是数组中元素的个数,对于非连续的数组, length获取到的是数组的最大索引+1, 而且非连续数组,在没有添加元素的地方会占用空间,所以尽量不要创建非连续的数组
- 修改数组的长度:
数组.length = 新长度
- 如果修改后的length大于原长度,则多出的部分会空出来
- 如果修改后的length小于原长度,则原数组中多出的元素会被删除
- 向数组的最后添加元素:
数组[数组.length] = 值;