Javascript的常规数组和关联数组对比小结


Posted in Javascript onMay 24, 2012

首先我们看看数组的分类:

从数组的下标分为索引数组、关联数组

/* 索引数组,即通常情况下所说的数组 */ 
var ary1 = [1,3,5,8]; 
//按索引去取数组元素,从0开始(当然某些语言实现从1开始),索引实际上就是序数,一个整型数字 
ary1[0]; 
ary1[1]; 
ary1[2]; 
ary1[3]; /* 关联数组,指以非序数类型为下标来存取的数组 python中称为字典 */ 
var ary2 = {}; //存取时,以非序数(数字),这里是字符串 
ary2["one"] = 1; 
ary2["two"] = 2; 
ary2["thr"] = 3; 
ary2["fou"] = 4;

问题:你可以如下测试:
alert(arry1.length); // 返回值为:4
alert(arry2.length); //返回值为:0

这是因为什么呢,因为js是非类型语言,所以js 的任何类型都是object,

比如var arr = [];
arr[0] = 1;
arr[1] = 2;
arr[2] = 3;
arr["s"] = 4;
此时你调用arr.s相当于是在调用arr这个对象的s属性,但是这是arr.length仍然是3。

总结:关联数组虽然可以用字符串作下标,但是这个下标是不支持参数传值的,换言之,你需要什么就取什么,听起来很智能,实际上你取值仍然需要你手动去写下标的。

Javascript 相关文章推荐
Colortip基于jquery的信息提示框插件在IE6下面的显示问题修正方法
Dec 06 Javascript
Safari5中alert的无限循环BUG
Apr 07 Javascript
非常好用的JsonToString 方法 简单实例
Jul 18 Javascript
使用jQuery的attr方法来修改onclick值
Jul 07 Javascript
js动态生成Html元素实现Post操作(createElement)
Sep 14 Javascript
使用 JavaScript 进行函数式编程 (一) 翻译
Oct 02 Javascript
全面解析Bootstrap排版使用方法(文字样式)
Nov 30 Javascript
跨域请求的完美解决方法(JSONP, CORS)
Jun 12 Javascript
原生JS实现图片轮播切换效果
Dec 15 Javascript
js实现微博发布小功能
Jan 12 Javascript
详解VUE前端按钮权限控制
Apr 26 Javascript
Windows上node.js的多版本管理工具用法实例分析
Nov 06 Javascript
基于mootools插件实现遮罩层新手引导
May 24 #Javascript
jQuery 拖动层(在可视区域范围内)
May 24 #Javascript
jQuery 菜单随滚条改为以定位方式(固定要浏览器顶部)
May 24 #Javascript
获得所有表单值的JQuery实现代码[IE暂不支持]
May 24 #Javascript
js动态在form上插入enctype=multipart/form-data的问题
May 24 #Javascript
javascript中关于break,continue的特殊用法与介绍
May 24 #Javascript
网页编辑器ckeditor和ckfinder配置步骤分享
May 24 #Javascript
You might like
CodeIgniter上传图片成功的全部过程分享
2013/08/12 PHP
PHP资源管理框架Assetic简介
2014/06/12 PHP
PHP网页安全认证的实例详解
2017/09/28 PHP
php处理多图上传压缩代码功能
2018/06/13 PHP
js Flash插入函数免激活代码
2009/03/31 Javascript
一些常用的JS功能函数(2009-06-04更新)
2009/06/04 Javascript
JavaScript访问样式表代码
2010/10/15 Javascript
JavaScript的parseInt 取整使用
2011/05/09 Javascript
js函数返回多个返回值的示例代码
2013/11/05 Javascript
详解JS函数重载
2014/12/04 Javascript
js右下角弹出提示框示例代码
2016/01/12 Javascript
jQuery实现点击弹出背景变暗遮罩效果实例代码
2016/06/24 Javascript
Angular路由简单学习
2016/12/26 Javascript
jQuery ajax请求struts action实现异步刷新
2017/04/19 jQuery
利用vueJs实现图片轮播实例代码
2017/06/03 Javascript
three.js中文文档学习之如何本地运行详解
2017/11/20 Javascript
nodejs操作mongodb的填删改查模块的制作及引入实例
2018/01/02 NodeJs
Layer弹出层动态获取数据的方法
2018/08/20 Javascript
layui 监听select选择 获取当前select的ID名称方法
2019/09/24 Javascript
[42:50]NB vs VP 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
python执行使用shell命令方法分享
2017/11/08 Python
Numpy数组的保存与读取方法
2018/04/04 Python
Python基于FTP模块实现ftp文件上传操作示例
2018/04/23 Python
Django中使用 Closure Table 储存无限分级数据
2019/06/06 Python
selenium WebDriverWait类等待机制的实现
2020/03/18 Python
python中np是做什么的
2020/07/21 Python
开发中都用到了那些设计模式?用在什么场合?
2014/08/21 面试题
建筑经济管理专业求职信分享
2014/01/06 职场文书
大学生职业生涯规划范文
2014/01/08 职场文书
美术专业个人自我评价
2014/01/18 职场文书
社团2014年植树节活动总结
2014/03/11 职场文书
护士求职自荐信范文
2015/03/04 职场文书
员工手册编写范本
2015/05/14 职场文书
2016年教育局“我们的节日——端午节”主题活动总结
2016/04/01 职场文书
市语委办2016年第十九届“推普周”活动总结
2016/04/05 职场文书
MySQL表的增删改查基础教程
2021/04/07 MySQL