手机
当前位置:查字典教程网 >编程开发 >Javascript教程 >js以对象为索引的关联数组
js以对象为索引的关联数组
摘要:关于JSON对象,你可以参看wikipedia(http://zh.wikipedia.org/zh-cn/JSON),还有官方网站(htt...

关于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

alert(a[document.getElementById("hello")]); //DOMElement

a[obj] = "Array Object";

alert(a[obj]);//Array Object

其实键名都是字符串:

复制代码 代码如下:

var d = document.getElementById("hello"), obj = [1,2,3], a = {obj:"test"};

alert(a["obj"]); //test

var str = new String("1,2,3");

a[obj] = "Array Object";

alert(a[obj]); //Array Object

alert(a[str]); //Array Object

var Class1 = function(_val){

var val = _val;

this.toString = function(){

return val;

}

}

var obj2 = new Class1("1,2,3");

alert(a[obj2]);//Array Object

【js以对象为索引的关联数组】相关文章:

js对象和json对象互相转换的问题

js获取字符串字节数方法小结

在JavaScript中正确引用bind方法的应用

JS/Jquery判断对象为空的方法

会自动逐行上升的文本框

Node.js本地文件操作之文件拷贝与目录遍历的方法

JS对字符串编码的几种方式使用

发现的以前不知道的函数

js实现点击链接后延迟3秒再跳转的方法

jquery合并表格中相同文本的相邻单元格

精品推荐
分类导航