`
xieye
  • 浏览: 835014 次
  • 性别: 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都是对象,对象就是关联数组,所以数组是对象,自然就是关联数组,同理函数也是对象所以也是关联数组,以此类推

相关推荐

    js数组数据和对象数据做比较,并改变数组的值

    js数组数据和对象数据做比较,并改变数组的值

    js获取对象,数组所有属性键值(key)和对应值(value)的方法示例

    尽管数组在概念上与对象不同,但在JavaScript中,数组也被视为一种特殊的对象,其索引被视为属性。 1. 获取对象的键(keys)和值(values) 在JavaScript中,我们可以使用`for...in`循环遍历对象的所有可枚举属性...

    js实现删除嵌套数组对象返回新数组

    嵌套的复杂数组对象,删除深层嵌套后返回新数组。 如:var data = [ { id: '1', name: 'www' }, { id: '2', name: 'qqq' }, { id: '3', name: 'eee', children: [ { id: '4', name: ...

    js数组相减简单示例【删除a数组所有与b数组相同元素】

    本文详细讲解了如何使用JavaScript进行数组相减的操作,即删除数组a中所有与数组b相同的元素。这涉及到JavaScript中的数组遍历、元素比较以及数组的删除操作等核心知识。通过具体示例,我们学习了如何编写一个函数来...

    js利用apply(), Math object, js数组,对象完全智能验证

    在提供的压缩包文件"validate"中,很可能包含了实现这些验证功能的示例代码或者练习,供学习者进一步理解和实践JavaScript中`apply()`的应用、Math对象的使用以及数组和对象的验证方法。通过深入学习和实践这些知识...

    js脚本数组,对象,字符对比是否相同

    js脚本数组,对象,字符对比是否相同

    asp.net中后台c#数组与前台js数组交互

    这个步骤是关键,我们使用 `数组%&gt;` 将CS数组的值赋给前端JS数组。 ```javascript var jingdu = new Array(); var weidu = new Array(); for (int k = 0; k ; k++) { %&gt; //赋值操作 } %&gt; ``` 在上面的代码中...

    全国行政区划数据 js对象数组

    全国行政区划数据 js对象数组

    js将类数组对象转换成数组对象

    通过使用这些库中的转换方法,我们可以弥补JavaScript在处理类数组对象上的不足,使得各种不同的对象在不同的浏览器中都能得到一致的处理,从而提升代码的兼容性和可用性。在实践中,根据所使用的库的不同,选择合适...

    js数组转换成tree结构数组

    js数组转换成tree结构数组算法

    一步看懂JS数组对象的方法

    用图片描述JS数组对象的方法,简单清晰,不懂的可以再翻翻书,包括 map push sort join some splice .... 各种筛选 切割 转换 排列

    详解vue 数组和对象渲染问题

    在Vue.js中,数组和对象的渲染问题是开发者经常会遇到的挑战。Vue的响应式系统依赖于数据劫持来实现视图与数据的双向绑定。当数组或对象的属性发生变化时,视图通常会自动更新以反映这些变化。然而,由于JavaScript...

    JavaScript类数组对象转换为数组对象的方法实例分析

    本文实例分析了JavaScript类数组对象转换为数组对象的方法。分享给大家供大家参考,具体如下: 1、类数组对象: 拥有length属性,可以通过下标访问; 不具有数组所具有的方法。 2、为什么要将类数组对象转换为数组...

    js数组说明大全

    数组的使用非常广泛,以下是对 JavaScript 数组的详细说明。 一、创建数组 JavaScript 中可以使用多种方式创建数组,例如: * 使用 new Array() 构造函数创建数组:var a = new Array("cctv","sxtv","tytv"); * ...

    关于JS数组追加数组采用push.apply的问题

    JS数组追加数组没有现成的函数,这么多年我已经习惯了a.push.apply(a, b);这种自以为很酷的,不需要写for循环的写法,一直也没遇到什么问题,直到今天我要append的b是个很大的数组时才遇到了坑。

    javascript判断一个变量是数组还是对象

    我们能够使用typeof判断变量的身份,判断字符串得到string,数字和NaN得到number,函数会得到function等,但是判断数组,对象和null时都会得到object,详细请看js数据类型,这就是typeof的局限性,并不能准确的判断...

    全国城市js数组

    标题“全国城市js数组”指的是使用JavaScript编程语言创建的一个数据结构,这个数据结构包含了中国所有城市的省份和城市信息。在Web开发中,这样的数组通常用于实现动态的下拉列表框,用户可以选择不同的省份和城市...

    js判断数组是否相等的方法

    在JavaScript中,判断两个数组是否相等是一个常见的需求,尤其在处理数据比较或者验证时。根据标题和描述,我们可以区分两种不同的场景: 1. **数组完全相等**:在这种情况下,不仅要求数组中的元素相同,而且元素...

    数组乱序 javascript

    数组乱序 javascript

    JS判断两个数组或对象是否相同的方法示例

    数组和对象作为JS中最基本的数据结构,它们的比较方法各有不同。具体到判断数组或对象的“相同”,通常涉及到是否包含相同的元素或属性以及这些元素或属性的排列顺序是否一致。 首先,判断两个数组是否相同,最简单...

Global site tag (gtag.js) - Google Analytics