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 相关文章推荐
COM中获取JavaScript数组大小的代码
Nov 22 Javascript
js实现广告漂浮效果的小例子
Jul 02 Javascript
js实现浏览器的各种菜单命令比如打印、查看源文件等等
Oct 24 Javascript
JS判断客服QQ号在线还是离线状态的方法
Jan 13 Javascript
canvas的神奇用法
Feb 03 Javascript
html5+canvas实现支持触屏的签名插件教程
May 08 Javascript
不得不知的ES6小技巧
Jul 28 Javascript
解决echarts的多个折现数据出现坐标和值对不上的问题
Dec 28 Javascript
jQuery移动端跑马灯抽奖特效升级版(抽奖概率固定)实现方法
Jan 18 jQuery
Vue触发隐藏input file的方法实例详解
Aug 14 Javascript
一起来了解一下JavaScript的预编译(小结)
Mar 01 Javascript
小程序实现侧滑删除功能
Jun 25 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
php 5.4 全新的代码复用Trait详解
2017/01/05 PHP
javascript 简单高效判断数据类型 系列函数 By shawl.qiu
2007/03/06 Javascript
Convert Seconds To Hours
2007/06/16 Javascript
jQuery 性能优化指南 (1)
2009/05/21 Javascript
JavaScript 对象模型 执行模型
2010/10/15 Javascript
JavaScript高级程序设计 事件学习笔记
2011/09/10 Javascript
JavaScript实现iframe自动高度调整和不同主域名跨域
2016/02/27 Javascript
使用Bootstrap typeahead插件实现搜索框自动补全的方法
2016/07/07 Javascript
node.js实现快速截图
2016/08/27 Javascript
Sortable.js拖拽排序使用方法解析
2016/11/04 Javascript
Bootstrap table表格简单操作
2017/02/07 Javascript
详解用场景去理解函数柯里化(入门篇)
2019/04/11 Javascript
在vue中实现禁止回退上一步,路由不存历史记录
2020/07/22 Javascript
原生js实现九宫格拖拽换位
2021/01/26 Javascript
[01:04:01]2014 DOTA2华西杯精英邀请赛5 24 DK VS VG
2014/05/25 DOTA
Python中使用PIPE操作Linux管道
2015/02/04 Python
Python图算法实例分析
2016/08/13 Python
使用Python将Exception异常错误堆栈信息写入日志文件
2020/04/08 Python
python不到50行代码完成了多张excel合并的实现示例
2020/05/28 Python
浅析python函数式编程
2020/09/26 Python
解决python3.x安装numpy成功但import出错的问题
2020/11/17 Python
HTML里显示pdf、word、xls、ppt的方法示例
2020/04/14 HTML / CSS
世界各地的当地人的食物体验:Eatwith
2019/07/26 全球购物
英国旅行箱包和行李箱购物网站:Travel Luggage & Cabin Bags
2019/08/26 全球购物
企业门卫岗位职责
2013/12/12 职场文书
经典优秀毕业生求职信范文分享
2013/12/18 职场文书
运动会通讯稿300字
2014/02/02 职场文书
白酒市场营销方案
2014/02/25 职场文书
《鸟的天堂》教学反思
2014/02/27 职场文书
求职个人评价范文
2014/04/09 职场文书
2014年新教师工作总结
2014/11/08 职场文书
商业门面租房协议书
2014/11/25 职场文书
师德先进个人材料
2014/12/20 职场文书
商务宴会祝酒词
2015/08/11 职场文书
2016会计专业自荐信范文
2016/01/28 职场文书
win11开机发生死循环重启怎么办?win11开机发生死循环重启解决方法
2022/08/05 数码科技