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 相关文章推荐
[IE&FireFox兼容]JS对select操作
Jan 07 Javascript
JS 学习笔记 防止发生命名冲突
Jul 30 Javascript
jQuery事件绑定和委托实例
Nov 25 Javascript
用js判断是否为360浏览器的实现代码
Jan 15 Javascript
JQuery实现的按钮倒计时效果
Dec 23 Javascript
XML、HTML、CSS与JS的区别整理
Feb 18 Javascript
Javascript小技能总结(推荐)
Jun 02 Javascript
jquery.validate[.unobtrusive]和Bootstrap实现tooltip错误提示问题分析
Oct 30 Javascript
bootstrap flask登录页面编写实例
Nov 01 Javascript
基于vue中keep-alive缓存问题的解决方法
Sep 21 Javascript
js get和post请求实现代码解析
Feb 06 Javascript
Vue 3自定义指令开发的相关总结
Jan 29 Vue.js
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
smarty静态实验表明,网络上是错的~呵呵
2006/11/25 PHP
php HtmlReplace输入过滤安全函数
2010/07/03 PHP
PHP实现今天是星期几的几种写法
2013/09/26 PHP
PHP小教程之实现双向链表
2014/06/12 PHP
10个对初学者非常有用的PHP技巧
2016/04/06 PHP
laravel框架数据库操作、查询构建器、Eloquent ORM操作实例分析
2019/12/20 PHP
javascript 获取图片颜色
2009/04/05 Javascript
IE下window.onresize 多次调用与死循环bug处理方法介绍
2013/11/12 Javascript
js给onclick赋值传参数的两种方法
2013/11/25 Javascript
给html超链接设置事件不使用href来完成跳
2014/04/20 Javascript
深入理解JavaScript系列(21):S.O.L.I.D五大原则之接口隔离原则ISP详解
2015/03/05 Javascript
JavaScript通过事件代理高亮显示表格行的方法
2015/05/27 Javascript
整理Javascript基础入门学习笔记
2015/11/29 Javascript
详解Angular的数据显示优化处理
2016/12/26 Javascript
Vue中的基础过渡动画及实现原理解析
2018/12/04 Javascript
记一次Vue.js混入mixin的使用(分权限管理页面)
2019/04/17 Javascript
react MPA 多页配置详解
2019/10/18 Javascript
使用python绘制人人网好友关系图示例
2014/04/01 Python
Python socket.error: [Errno 98] Address already in use的原因和解决方法
2014/08/25 Python
使用wxPython获取系统剪贴板中的数据的教程
2015/05/06 Python
PyQt5 QListWidget选择多项并返回的实例
2019/06/17 Python
python Pexpect模块的使用
2020/12/25 Python
python如何构建mock接口服务
2021/01/28 Python
应届生求职简历的自我评价怎么写
2013/10/23 职场文书
请假条格式范文
2014/04/10 职场文书
高中生操行评语
2014/04/25 职场文书
施工安全生产承诺书
2014/05/23 职场文书
运动会标语
2014/06/21 职场文书
大专毕业生求职信
2014/07/05 职场文书
个人剖析材料及整改措施
2014/10/07 职场文书
2015年度培训工作总结范文
2015/04/02 职场文书
党员身份证明材料
2015/06/19 职场文书
工程款催款函
2015/06/24 职场文书
2016入党积极分子心得体会
2016/01/06 职场文书
导游词之无锡丝业博物馆
2019/11/12 职场文书
JavaScript 数组去重详解
2021/09/15 Javascript