面向对象:整个过程就是找(创建)对象,搞(操作)对象。
数组(Array):
- 数组也是一个对象
- 数组和普通对象的功能类似,也是用来存储一些值的
- 不用的是普通对象是使用字符串作为属性名的,而数组是使用数字来作为索引操作元素(左边:普通对象,右边:数组)
- 索引:从0开始的整数就是索引,
- 数组的存储性比普通对象要好,在开发中我们经常使用数组来存储一些数据
1. 创建数组对象
- 构造函数创建:
语法:new Array( ) ;
var arr = new Array( ); 或者 var arr =new Array[ x,y,z ] ;
使用构造函数创建数组时,也可以同时添加元素,将要添加的元素作为构造函数的参数传递,元素之间使用 ',' 隔开
var arr = new Array();
var arr2 = new Array( 1,2,3,4,5 );
使用 typeof 检查一个数组时,会返回 object
console . log( typeof arr ); // object
- 字面量创建:
语法:[ ]
var arr = [ ] ;
使用字面量创建数组时,可以在创建时就指定数组中的元素
var arr3 = [ 1,2,3,4,5 ]
构造函数和字面量的区别:
arr = [ 10 ] ; // 创建的是一个数组中只有一个元素,是 " 10 "
arr2 = new Array( 10 ) ; // 创建一个长度为10的数组,是 ",,,,,,,,,"
向数组中添加一个元素,需要使用字面量的方式添加,构造函数中添加一个元素,表示的是数组长度。
2. 向数组中添加元素,语法:数组 [ 索引 ] = 值;
arr [ 0 ] = 12 ;
arr [ 1 ] = 10 ;
3. 读取数组中的元素,语法:数组 [ 索引 ]
console . log ( arr[ 0 ] ) ; // 12
console . log ( arr[ 3 ] ) ; // undefined 读取不存在的索引,他不会报错而是返回 undefined
4. 获取数组的长度
可以使用 length 属性来获取数组的长度(元素的个数)
语法:数组 . length
对于连续的数组,使用 length 可以获取到数组的长度(元素的个数)
对于非连续的数组,使用 length 会获取到数组的最大的索引+1
例:arr[ 3 ] = 21; // length = 4 实际arr元素个数只有一个
console . log( arr ); // , , , 21
5. 修改 length 的长度
如果修改的 length 大于原长度,则多出部分会空出来
如果修改的 length 小于原长度,则多出的元素会被删除
6.向数组的最后一个位置添加元素
语法:数组[ 数组 . length ] = 值 ;
例:arr[ arr . length ] =22;
7.数组中的元素可以是任意数据类型
arr [ ' hello ',2,true,null,undefined ]; // hello,2,true, ,
也可以是对象:
var obj = {name:" 孙悟空 "};
arr [ arr . length ] = obj ; // 向数组的最后的位置添加一个数组
arr = [ {name:" 孙悟空 "},{name:" 猪八戒 "},{name:" 沙和尚 "} ];
console . log{ arr[2] . name } //沙和尚
也可以是一个函数:
var = [ function ( ){ alert( 1 ) } ,function( ) { alert( 2 ) } ];
arr[ 0 ]( ); //调用数组中的函数
8.数组中也可以放数组,如下,这种数组我们称为:二维数组
arr = [ [ 1,2,3 ],[ 4,5,6 ],[ 7,8,9 ] ]
console.log{ arr[ 2 ] } // 7,8,9