JavaScript 以对象为索引的关联数组


Posted in Javascript onMay 19, 2010

关于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
Javascript 相关文章推荐
Js setInterval与setTimeout(定时执行与循环执行)的代码(可以传入参数)
Jun 11 Javascript
extjs grid设置某列背景颜色和字体颜色的实现方法
Sep 06 Javascript
jQuery 版元素拖拽原型代码
Apr 25 Javascript
基于jQuery的简单九宫格实现代码
Aug 09 Javascript
将form表单中的元素转换成对象的方法适用表单提交
May 02 Javascript
JavaScript中获取鼠标位置相关属性总结
Oct 11 Javascript
js实现文字在按钮上滚动的方法
Aug 20 Javascript
DataTables+BootStrap组合使用Ajax来获取数据并且动态加载dom的方法(排序,过滤,分页等)
Nov 09 Javascript
Vue框架中正确引入JS库的方法介绍
Jul 30 Javascript
微信小程序商品详情页规格属性选择示例代码
Oct 30 Javascript
js获取本日、本周、本月的时间代码
Feb 01 Javascript
Vue实现简单计算器案例
Feb 25 Javascript
JavaScript 语言的递归编程
May 18 #Javascript
JS 树形递归实例代码
May 18 #Javascript
document.getElementById方法在Firefox与IE中的区别
May 18 #Javascript
基于jQuery的固定表格头部的代码(IE6,7,8测试通过)
May 18 #Javascript
Javascript中的变量使用说明
May 18 #Javascript
Javascript实现的鼠标经过时播放声音
May 18 #Javascript
JavaScript 继承机制的实现(待续)
May 18 #Javascript
You might like
解析isset与is_null的区别
2013/08/09 PHP
PHP排序算法之冒泡排序(Bubble Sort)实现方法详解
2018/04/20 PHP
PHP7内核CGI与FastCGI详解
2019/04/14 PHP
msn上的tab功能Firefox对childNodes处理的一个BUG
2008/01/21 Javascript
Js冒泡事件详解及阻止示例
2014/03/21 Javascript
jquery中push()的用法(数组添加元素)
2014/11/25 Javascript
node.js中的http.request.end方法使用说明
2014/12/10 Javascript
js验证真实姓名与身份证号是否匹配
2015/10/13 Javascript
jQuery获取及设置表单input各种类型值的方法小结
2016/05/24 Javascript
Vue插件写、用详解(附demo)
2017/03/20 Javascript
AngularJS入门教程一:路由用法初探
2017/05/27 Javascript
jQuery实现下拉菜单动态添加数据点击滑出收起其他功能
2018/06/14 jQuery
详解vue-cli3开发Chrome插件实践
2019/05/29 Javascript
详解ES6数组方法find()、findIndex()的总结
2020/05/12 Javascript
Python cx_freeze打包工具处理问题思路及解决办法
2016/02/13 Python
Python中__init__.py文件的作用详解
2016/09/18 Python
Python2.7编程中SQLite3基本操作方法示例
2017/08/09 Python
微信跳一跳python代码实现
2018/01/05 Python
pycharm+PyQt5+python最新开发环境配置(踩坑)
2019/02/11 Python
Python实例方法、类方法、静态方法的区别与作用详解
2019/03/25 Python
python定时复制远程文件夹中所有文件
2019/04/30 Python
教你一步步利用python实现贪吃蛇游戏
2019/06/27 Python
Python K最近邻从原理到实现的方法
2019/08/15 Python
Python logging模块异步线程写日志实现过程解析
2020/06/30 Python
AmazeUI 导航条的实现示例
2020/08/14 HTML / CSS
Java如何获得ResultSet的总行数
2016/09/03 面试题
教育技术职业规划范文
2014/03/04 职场文书
某某同志考察材料
2014/05/28 职场文书
中学生打架检讨书
2014/10/13 职场文书
师德师风自查总结
2014/10/14 职场文书
2014党的群众路线教育实践活动总结材料
2014/10/31 职场文书
毕业生就业推荐表导师评语
2014/12/31 职场文书
辞职信怎么写?
2019/05/21 职场文书
入门学习Go的基本语法
2021/07/07 Golang
python 学习GCN图卷积神经网络
2022/05/11 Python
TS 类型兼容教程示例详解
2022/09/23 Javascript