数组
一.定义:
1.数组就是一组数据的集合;
2.其表现形式就是内存中一段连续的内存地址
3.数组名其实就是连续内存地址的首地址
二.数组特点:
1.数组定义时,无需指定数据的类型
2.数组定义时,无需指定数组的长度;
3.js是弱类型语言,可以存储任何数据类型的数据
三.创建数组
1.var arr=[];//隐式创建
arr[0]=1;
2.var arr = {
name : " w " ;
age: 1;
}//键值对,索引不能重复
四.访问数组
1.通过下标访问数组,下标从0开始
console.log(array[0]);
2.通过属性名.例如 name age等
console.log(arr.name);
五.关于数组长度(数组对象length)
for(var i = 0; i<arr.lenghth ; i++){
console.log(arr1[i] );
}
六.for…in语句
1.数组不是数据类型,数组的数据类型其实就是对象.
2.fon…in可以实现对一个对象的所有属性的遍历
语法:
for(var i in array){
}
3.原理:数组中有几个元素,for…in语句循环就会执行多少次,每次执行时,将当前数组元素的下标存放到变量i中.
例:
var row = ["zhangsan","lisi","wangwu","xiaoqiang"];
for(var i in row) {
docment.write(i+":"+row[i]+"<br>");
}
结果:
0:zhangsan
1:lisi
2:wangwu
3:xiaoqiang
七.文本下标
1.在js中,文本下标的数组元素,不计入数组元素;
arr[‘key’]=value;
2.以文本形式添加到数组,实际是以属性形式添加到数组对象中;
例:
var arr={1,2,3};
arr{'first'}='zhangsan';
arr{'second'}= 'lisi';
document.write(arr.length + "<br />");
document.write(arr.first + "<br />");
document.write(arr.second + "<br />");
结果:
3
zhangsan
lisi
3.遍历带有文本下标度的数组:
var arr={1,2,3};
arr{'first'}='zhangsan';
arr{'second'}= 'lisi';
for(var i in arr){
document.write(i + ":" + arr[i] + "<br>");
}
结果:
0:1
1:2
2:3
first:zhangsan
second:lisi