JavaScript中的类数组对象介绍


Posted in Javascript onDecember 30, 2014

JavaScript中,数组是一个特殊的对象,其property名为正整数,且其length属性会随着数组成员的增减而发生变化,同时又从Array构造函数中继承了一些用于进行数组操作的方法。而对于一个普通的对象来说,如果它的所有property名均为正整数,同时也有相应的length属性,那么虽然该对象并不是由Array构造函数所创建的,它依然呈现出数组的行为,在这种情况下,这些对象被称为“类数组对象”。以下是一个简单的类数组对象:

var o = {0:42, 1:52, 2:63, length:3}

console.log(o);

与普通对象不同的是,类数组对象拥有一个特性:可以在类数组对象上应用数组的操作方法。比如,在ECMAScript 5标准中,可以用以下方法来将上面的对象o合并成字符串:
console.log(Array.prototype.join.call(o));//"42,52,63"

也可以在类数组对象上使用slice()方法获取子数组:
console.log(Array.prototype.slice.call(o, 1, 2));//[52]

在浏览器环境中,document.getElementsByTagName()语句返回的就是一个类数组对象。在function调用中,function代码内的arguments变量(保存传入的参数)也是一个类数组对象。

在ECMAScript 5标准中,字符串string就是一个只读的类数组对象:

var s = "History";

console.log(s[3]);//t

console.log(Array.prototype.join.call(s, " "));//H i s t o r y
Javascript 相关文章推荐
学习ExtJS(二) Button常用方法
Oct 07 Javascript
基于JQUERY的多级联动代码
Jan 24 Javascript
javascript中注册和移除事件的4种方式
Mar 20 Javascript
jQuery实现带动画效果的二级下拉导航方法
Mar 11 Javascript
jQuery获取标签文本内容和html内容的方法
Mar 27 Javascript
jquery分页插件jquery.pagination.js实现无刷新分页
Apr 01 Javascript
在Swiper内如何制作CSS3动画效果示例代码
Dec 07 Javascript
js时间戳转yyyy-MM-dd HH-mm-ss工具类详解
Apr 30 Javascript
JavaScript实现秒杀时钟倒计时
Sep 29 Javascript
JS求解两数之和算法详解
Apr 28 Javascript
jQuery实现的移动端图片缩放功能组件示例
May 01 jQuery
javascript实现智能手环时间显示
Sep 18 Javascript
JavaScript中的方法调用详细介绍
Dec 30 #Javascript
JavaScript中的闭包(Closure)详细介绍
Dec 30 #Javascript
JavaScript中的类(Class)详细介绍
Dec 30 #Javascript
JavaScript实现防止网页被嵌入Frame框架的代码分享
Dec 29 #Javascript
jQuery实现ichat在线客服插件
Dec 29 #Javascript
jQuery中用dom操作替代正则表达式
Dec 29 #Javascript
jQuery中:animated选择器用法实例
Dec 29 #Javascript
You might like
dedecms模板标签代码官方参考
2007/03/17 PHP
php实现文件下载(支持中文文名)
2013/12/04 PHP
PHP用户验证和标签推荐的简单使用
2016/10/31 PHP
jquery中ajax学习笔记一
2011/10/16 Javascript
一个JavaScript的求爱小特效
2014/05/09 Javascript
js操作IE浏览器弹出浏览文件夹可以返回目录路径
2014/07/14 Javascript
10分钟学会写Jquery插件实例教程
2014/09/06 Javascript
js实现select跳转菜单新窗口效果代码分享(超简单)
2015/08/21 Javascript
jquery实现页面常用的返回顶部效果
2016/03/04 Javascript
全面理解JavaScript中的闭包
2016/05/12 Javascript
浅谈$('div a') 与$('div>a')的区别
2016/07/18 Javascript
Bootstrap基本组件学习笔记之input输入框组(9)
2016/12/07 Javascript
node.js+captchapng+jsonwebtoken实现登录验证示例
2017/08/17 Javascript
jQuery基于闭包实现的显示与隐藏div功能示例
2018/06/09 jQuery
javascript实现计算指定范围内的质数示例
2018/12/29 Javascript
使用Python中PDB模块中的命令来调试Python代码的教程
2015/03/30 Python
Python HTTP客户端自定义Cookie实现实例
2017/04/28 Python
Python MySQL数据库连接池组件pymysqlpool详解
2017/07/07 Python
Python实现计算文件MD5和SHA1的方法示例
2019/06/11 Python
tensorflow 实现打印pb模型的所有节点
2020/01/23 Python
Python3操作MongoDB增册改查等方法详解
2020/02/10 Python
keras之权重初始化方式
2020/05/21 Python
python 基于opencv操作摄像头
2020/12/24 Python
HTML5之SVG 2D入门8—文档结构及相关元素总结
2013/01/30 HTML / CSS
HTML5 图片预加载的示例代码
2020/03/25 HTML / CSS
linux面试题参考答案(9)
2016/01/29 面试题
运动会广播稿80字
2014/01/23 职场文书
工商管理专业毕业生求职信
2014/05/26 职场文书
计算机软件专业求职信
2014/06/10 职场文书
党员民主评议个人总结
2014/10/20 职场文书
人力资源部岗位职责
2015/02/11 职场文书
2015年小学一年级班主任工作总结
2015/05/21 职场文书
机关干部作风整顿心得体会
2016/01/22 职场文书
SqlServer: 如何更改表的文件组?(进而改变存储位置)
2021/04/05 SQL Server
Java虚拟机内存结构及编码实战分享
2022/04/07 Java/Android
微信小程序 根据不同用户切换不同TabBar
2022/04/21 Javascript