关于JSON对象,你可以参看wikipedia(http://zh.wikipedia.org/zh-cn/JSON),还有官方网站(http://www.json.org/json-zh.html)。
我们常说JavaScript原生支持json,因为我们可以认为json就是对JavaScript的Object对象的灵活应用。
通常我们使用json的方式,主要用作前后台数据交换的格式:
而在代码逻辑中更多的是用关联数组的方式。但即使是这样我们也很少使用对象类型作为键值对的键名。
var a= {}, b= [];
a[b] = new Date(); //通过a[b]可以取得时间值。
键名的类型可以是对象,多么美好的一件事啊!
不过有一个问题。如果你想这么用,需要有一个条件:数据必须是动态添加的。(目前在同学这,没有条件测试其他的浏览器,目前测试了IE8以及搜狗浏览器的IE内核和weikit内核)
测试代码如下:
复制代码 代码如下:
var d = document.getElementById("hello"), obj = [1,2,3], a = {obj:"test"};
a[d] = "DOMElement";
alert(a[obj]); //undefined
alert(a[d]); //DOMElement
a[obj] = "Array Object";
alert(a[obj]); //Array Object
您可能感兴趣的文章:
- 在JS数组特定索引处指定位置插入元素的技巧
- JS数组操作(数组增加、删除、翻转、转字符串、取索引、截取(切片)slice、剪接splice、数组合并)
- javascript检查某个元素在数组中的索引值
- JavaScript通过元素索引号删除数组中对应元素的方法
- 利用js查找数组中指定元素并返回该元素的所有索引示例
- 在JS数组特定索引处指定位置插入元素
- 浅谈Javascript数组索引
- js以对象为索引的关联数组
- JavaScript中的索引数组、关联数组和静态数组、动态数组讲解
- JS算法题之查找数字在数组中的索引位置