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 相关文章推荐
文本框的字数限制功能jquery插件
Nov 24 Javascript
jQuery ctrl+Enter shift+Enter实现代码
Feb 07 Javascript
统计jQuery中各字符串出现次数的工具
May 03 Javascript
怎样在JavaScript里写一个swing把数据插入数据库
Dec 10 Javascript
使用JavaScript链式编程实现模拟Jquery函数
Dec 21 Javascript
求js数组的最大值和最小值的四种方法
Mar 03 Javascript
vue如何实现observer和watcher源码解析
Mar 09 Javascript
Vue.js在数组中插入重复数据的实现代码
Nov 17 Javascript
微信小程序实现YDUI的ScrollNav组件
Feb 02 Javascript
使用vue2.0创建的项目的步骤方法
Sep 25 Javascript
vue项目中在可编辑div光标位置插入内容的实现代码
Jan 07 Javascript
解决vue.js中settimeout遇到的问题(时间参数短效果不稳定)
Jul 21 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
浅谈PHP语法(1)
2006/10/09 PHP
php xml文件操作实现代码(二)
2009/03/20 PHP
PHP中foreach循环中使用引用要注意的地方
2011/01/02 PHP
深入PHP5中的魔术方法详解
2013/06/17 PHP
php按字符无乱码截取中文的方法
2015/03/27 PHP
PHP配置把错误日志以邮件方式发送方法(Windows系统)
2015/06/23 PHP
PHP使用缓存即时输出内容(output buffering)的方法
2015/08/03 PHP
Yii2框架控制器、路由、Url生成操作示例
2019/05/27 PHP
JQuery魔力之$("tagName")与selector
2012/03/05 Javascript
方便实用的jQuery checkbox复选框全选功能简单实例
2013/10/09 Javascript
鼠标移入移出事件改变图片的分辨率的两种方法
2013/12/17 Javascript
javascript 广告移动特效的实现代码
2016/06/25 Javascript
AngularJS利用Controller完成URL跳转
2016/08/09 Javascript
js从数组中删除指定值(不是指定位置)的元素实现代码
2016/09/13 Javascript
javascript 使用正则test( )第一次是 true,第二次是false
2017/02/22 Javascript
微信小程序之swiper滑动面板用法示例
2018/12/04 Javascript
JS html事件冒泡和事件捕获操作示例
2019/05/01 Javascript
D3.js(v3)+react 实现带坐标与比例尺的柱形图 (V3版本)
2019/05/09 Javascript
聊聊Vue中provide/inject的应用详解
2019/11/10 Javascript
前端vue+elementUI如何实现记住密码功能
2020/09/20 Javascript
vue组件中传值EventBus的使用及注意事项说明
2020/11/16 Javascript
[01:59]DOTA2首部纪录片《Free to play》预告片
2014/03/12 DOTA
[01:16:16]DOTA2-DPC中国联赛定级赛 RNG vs Phoenix BO3第二场 1月8日
2021/03/11 DOTA
用python写asp详细讲解
2013/12/16 Python
Python的Django框架可适配的各种数据库介绍
2015/07/15 Python
对于Python中RawString的理解介绍
2016/07/07 Python
Python自动发邮件脚本
2017/03/31 Python
python json.dumps() json.dump()的区别详解
2020/07/14 Python
pytorch学习教程之自定义数据集
2020/11/10 Python
HTML5实现视频直播功能思路详解
2017/11/16 HTML / CSS
介绍一下Cookie和Session及他们之间的区别
2012/11/20 面试题
介绍一下linux文件系统分配策略
2013/02/25 面试题
高中毕业自我鉴定
2013/12/22 职场文书
双十佳事迹材料
2014/01/29 职场文书
业务总经理岗位职责
2014/02/03 职场文书
四风问题对照检查整改措施思想报告
2014/10/05 职场文书