`
xieye
  • 浏览: 807055 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

关于js数组充当对象使用的疑问

    博客分类:
  • PHP
阅读更多

正常来说,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);   

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

 

分享到:
评论
3 楼 xieye 2007-12-12  
<font>我自己回答一下(真是无奈啊),如果使用json跟服务器交换数据,<br/>
那么不能得到数组的对象属性,以下使用了json库,网上可以下载到<br/>
<div class='code_title'>js 代码</div>
<div class='dp-highlighter'>
<div class='bar'/>
<ol class='dp-c'>
    <li class='alt'><span><span>&lt;script src=</span><span class='string'>"json2.js"</span><span>&gt;&lt;/script&gt;   </span></span></li>
    <li class=''><span>&lt;script&gt;   </span></li>
    <li class='alt'><span/><span class='keyword'>var</span><span> arr = [];   </span></li>
    <li class=''><span>arr.b = 11;   </span></li>
    <li class='alt'><span>arr[0] = 12;   </span></li>
    <li class=''><span>  </span></li>
    <li class='alt'><span>alert(arr.b);               </span><span class='comment'>//显示出期望结果 11 </span><span>  </span></li>
    <li class=''><span>alert(JSON.stringify(arr)); </span><span class='comment'>//显示[12],没有把作为对象的属性11显示出来 </span><span>  </span></li>
    <li class='alt'><span>&lt;/script&gt;   </span></li>
</ol>
</div>
<p> </p>
<p>xieye 20071212</p>
</font>所以请有条件的使用。
2 楼 xieye 2007-12-12  
这我都知道,我这样使用数组,是否有什么不妥?
1 楼 afcn0 2007-12-12  
js当中除了string number boolean undefined null都是对象,对象就是关联数组,所以数组是对象,自然就是关联数组,同理函数也是对象所以也是关联数组,以此类推

相关推荐

Global site tag (gtag.js) - Google Analytics