对象
一、新建一个对象有三种方法:
1、var emptyObj1 = {};//创建空对象
2、var emptyObj1 = new Object();//创建空对象
3、var person = {"name":"Daisy","age":25,"sex":"female"};
二、访问对象可以使用".":persion.name,或是这样写:person["name"]//双引号别丢了
三、循环取对象里的值
var s = "";
for(var props in person){
s += person[props];
}
四、delete操作符可以删除对象中的某个属性,判断某个属性是否存在可以使用"in"操作符.
delete person.sex;//删除sex属性
alert("sex" in person);//false
数组
一、创建数组可以用"[]"操作符,或者是用Array()构造函数来new一个.
- var array1 = []; //创建空数组
- var array2 = new Array(); //创建空数组
- array1 = [1,"s",[3,4],{"name1":"NAME1"}]; //
- alert(array1[2][1]); //4 访问数组中的数组元素
- alert(array1[3].name1); //NAME1 访问数组中的对象
- alert(array1[8]); //undefined
- array2 = [,,]; //没有数值填入只有逗号,则对应索引处的元素为undefined
- alert(array2.length); //3
- alert(array2[1]); //undefined
数组中的值在没有赋值之前,就是undefined
二、 可以用delete操作符删除数组的元素
这个删除仅仅是将数组在该位置的元素设为undefined,数组的长度并没有改变.
- var array = new Array("n1","n2","n3","n4","n5"); //五个元素的数组
- var astring = "";
- for(var i=0; i<array.length; i++) { //循环数组元素
- astring += array[i];
- }
- alert(astring); //n1n2n3n4n5
- delete array[3]; //删除数组元素的值
- alert(array.length + "_" + array[3]) //5_undefined
- array.length = 3; //缩减数组的长度
- alert(array[3]); //undefined
- array.length = 8; //扩充数组的长度
- alert(array[4]); //undefined
三、数组取值
通过上面的解释,我们已经知道,对象的属性值是通过属性的名字(字符串类型)来获取,而数组的元素是通过索
引(整数型 0~~2**32-1)来得到值.数组本身也是一个对象,所以对象属性的操作也完全适合于数组.
- var array = new Array("no1","no2");
- array["po"] = "props1";
- alert(array.length); //2
- //对于数组来说,array[0]同array["0"]效果是一样的(?不确定,测试时如此)
- alert(array[0] + "_" + array["1"] + "_" + array.po);//no1_no2_props1