Chinaunix首页 | 论坛 | 博客
  • 博客访问: 507424
  • 博文数量: 83
  • 博客积分: 6010
  • 博客等级: 准将
  • 技术积分: 1169
  • 用 户 组: 普通用户
  • 注册时间: 2007-04-29 22:34
文章分类

全部博文(83)

文章存档

2011年(3)

2010年(29)

2009年(30)

2008年(21)

我的朋友

分类: 系统运维

2009-11-20 10:19:25

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里面的值,说明这是值拷贝
阅读(3464) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~