把数字、字符串、字符、对象等内容放在同一个数组中。对象也可以做同样的事情,区别是对象可以指定对象里每一个成员的别名,这样在编程的时候数据更易读,比如:
var arr1 = ["飞鱼", 25, 172, "江苏"];
var person = {name:"飞鱼",age: 25, height:172,province: "江苏"};
这样,person.name是不是比arr1[0]更易读,更易使用?当然数组和对象各有优势,本文的重点是将二者的优势结合起来,综合使用。
一、数组
一维数组赋值
1)
var mycars=new Array();
mycars[0]="Saab";
mycars[1]="Volvo";
mycars[2]="BMW";
console.log(mycars);
var mycars=new Array(3);
mycars[0]="Saab";
mycars[1]="Volvo";
mycars[2]="BMW";
console.log(mycars);
2)
var mycars=new Array("Saab","Volvo","BMW");
console.log(mycars);
二维和多维数组
1)
var persons = new Array();
persons[0] = new Array();
persons[1] = new Array();
persons[2] = new Array();
persons[0][0] = "zhangsan";
persons[0][1] = 25;
persons[1][0] = "lisi";
persons[1][1] = 22;
persons[2][0] = "wangwu";
persons[2][1] = 32;
persons[0] = ["zhangsan", 25];
persons[1] = ["lisi", 21];
persons[2] = ["wangwu", 32];
console.log(persons);
2)
var persons = [["zhangsan", 25], ["lisi", 21], ["wangwu", 32]];
console.log(persons);
二、对象
对象由花括号分隔。在括号内部,对象的属性以名称和值对的形式 (name : value) 来定义。属性由逗号分隔:
var person={firstname:"Bill", lastname:"Gates", id:5566};
对象属性有两种寻址方式:
name=person.lastname;
name=person["lastname"];
使用总结
1.数组使用length计算个数,而对象不行,计算一个字符串的长度或者计算一个数组元素的个数,那么此时只能用length而不能用size()
数组长度计算
var mycars=new Array("Saab","Volvo","BMW");
console.log(mycars.length);
对象的长度计算
Object.size = function(obj) {
var size = 0, key;
for (key in obj) {
if (obj.hasOwnProperty(key)) size++;
}
return size;
};
objname = {firstname:"Bill", lastname:"Gates", id:5566};
var num=Object.size(objname);
console.log(num);