http://xieye.javaeye.com/blog/147775
正常来说,js中,数组是数组,对象是对象。
如:
js 代码
var obj = {};
obj.a = 123;
obj.b = 'bbb';
var arr = [];
arr[0] = 1;
arr[1] = 'bbb';
关联数组用对象,索引数组用数组。
但是数组本身也是对象,所以也有如下写法:
js 代码
var arr_obj = [];
arr_obj[0] = 1;
arr_obj[1] = 'bbbb';
arr_obj.a = 1;
arr_obj.b = 'bbb';
alert(arr_obj[0]+ ' ' + arr_obj[1] + ' ' + arr_obj.a + ' ' + arr_obj.b);
如果我想要一个对象,里面附带一个数组,这样岂不是很方便吗?无需再定义一个对象的属性指明为数组。
请问,这样会有没有什么不妥之处?
我自己回答一下(真是无奈啊),如果使用json跟服务器交换数据,
那么不能得到数组的对象属性,以下使用了json库,网上可以下载到
js 代码
<script src="json2.js"></script>
<script>
var arr = [];
arr.b = 11;
arr[0] = 12;
alert(arr.b); //显示出期望结果 11
alert(JSON.stringify(arr)); //显示[12],没有把作为对象的属性11显示出来
</script>