var array = [];
var object = {};
1,数组有length属性,对象没有
如果想获得对象的属性的长度,目前只知道通过遍历累加来获得
2,引用对象中元素只能用[],如a[2],引用对象中元素则有2种方法:
var a = {
1 : "11",
hello : "hi hello"
};
alert("a.length " + a.length);
a['1'] = "1";
a[1] = a[1] + "2";
a["hello"] = "Myhello"; alert("a.1 = " + a[1]); alert("a['hello'] = " + a["hello"])
|
对于属性名为字符串的属性,通过a[],也可以通过a.x来访问,比如上面的a.hello和a["hello"]是一样的,注意这里不能写成a[hello],这样写[]里的hello会被认为是一变量名;
对于属性名为数字的属性,只能通过a[x]来访问,比如上面的a[1]或者a['1']是一样的,这里属性名加不加属性都没关系,但是写出a.1或者a."1"就会报错了。
3, 属性是可以直接赋值的,而且是值拷贝
var a = {};
var b = { 1: "a", xx: "b"};
a = b;
delete b; //或者b = null; alert("a.x = " + a[1] + "; a.xx = " + a.xx)
|
如以上例子,把对象b赋给a之后,删除b,这时还是可以访问a里面的值,说明这是值拷贝
阅读(3634) | 评论(0) | 转发(0) |