搜索墙首页  编程技术  java  asp  ajax  php  c/c#/c++  数据库  oracle  mysql  db2  操作系统  windows  linux  股吧
首页 > 编程 > ajax > JavaScript
 1         
1楼  xieye 2007-12-12

正常来说,js中,数组是数组,对象是对象。
如:

js 代码
  1. var ?obj?=?{}; ??
  2. obj.a?=?123; ??
  3. obj.b?=?'bbb'; ??
  4. ??
  5. var ?arr?=?[]; ??
  6. arr[0]?=?1; ??
  7. arr[1]?=?'bbb'; ??

关联数组用对象,索引数组用数组。

但是数组本身也是对象,所以也有如下写法:

js 代码
  1. var ?arr_obj?=?[]; ??
  2. arr_obj[0]?=?1; ??
  3. arr_obj[1]?=?'bbbb'; ??
  4. arr_obj.a??=?1; ??
  5. arr_obj.b??=?'bbb'; ??
  6. alert(arr_obj[0]+?'??'?+?arr_obj[1]?+?'??'?+?arr_obj.a?+?'??'?+?arr_obj.b); ??

如果我想要一个对象,里面附带一个数组,这样岂不是很方便吗?无需再定义一个对象的属性指明为数组。
请问,这样会有没有什么不妥之处?

?

2楼  afcn0 2007-12-12

js当中除了string number boolean undefined null都是对象,对象就是关联数组,所以数组是对象,自然就是关联数组,同理函数也是对象所以也是关联数组,以此类推
3楼  xieye 2007-12-12

这我都知道,我这样使用数组,是否有什么不妥?
4楼  xieye 2007-12-12

我自己回答一下(真是无奈啊),如果使用json跟服务器交换数据,
那么不能得到数组的对象属性,以下使用了json库,网上可以下载到
js 代码
  1. <script?src="json2.js"></script> ??
  2. <script> ??
  3. var?arr?=?[]; ??
  4. arr.b?=?11; ??
  5. arr[0]?=?12; ??
  6. ??
  7. alert(arr.b);???????????????//显示出期望结果?11 ??
  8. alert(JSON.stringify(arr));?//显示[12],没有把作为对象的属性11显示出来 ??
  9. </script> ??

?

xieye 20071212

所以请有条件的使用。
 1         
您的发言将按有关规定都会存档,您须为所发表后果负责,请您遵纪守法并注意语言文明。
标题:关于js数组充当对象使用的疑问
热门关注
标题回复点击
[源码]XiorkFlow:用JavaScript写的工作流设计器73342
推荐一个不错的免费JavaScript开发工具,比aptana轻得多~~70267
jquery和prototype框架的比较。。。62234
大胆预测下JS框架的走势106197
Mootools和Jquery之间的选择问题60162
Mootools前景?拿来主义VS重复发明轮子102160
开心网【朋友买卖、咬人、争车位】Firefox插件118143
Mootools、jQuery之说三道四64141
js操作html的table,包括添加行,添加列,删除行,删除列,合并单元格(未实现)29134
关于Gecko的eval第二参数探密51113
搜索墙@2009 www.pkwall.com all rights reserved QQ:276471788 [京ICP备09111534号]
声明:本站部分数据来源于网络,仅供参考,如有版权问题,请联系我们,我们将及时删除!转载本站请注明来源