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 相关文章推荐
基于jquery的Repeater实现代码
Jul 17 Javascript
js实现图片轮换效果代码
Apr 16 Javascript
JS控制阿拉伯数字转为中文大写示例代码
Sep 04 Javascript
使用jQuery.wechat构建微信WEB应用
Oct 09 Javascript
javascript框架设计读书笔记之模块加载系统
Dec 02 Javascript
浅析javascript中函数声明和函数表达式的区别
Feb 15 Javascript
详解vue2父组件传递props异步数据到子组件的问题
Jun 29 Javascript
JavaScript定时器setTimeout()和setInterval()详解
Aug 18 Javascript
解决Webpack 热部署检测不到文件变化的问题
Feb 22 Javascript
react中实现搜索结果中关键词高亮显示
Jul 31 Javascript
微信小程序使用gitee进行版本管理
Sep 20 Javascript
JS数组中对象去重操作示例
Jun 04 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 class类的用法详细总结
2013/10/17 PHP
php防止sql注入之过滤分页参数实例
2014/11/03 PHP
php采用file_get_contents代替使用curl实例
2014/11/07 PHP
PHP中的socket_read和socket_recv区别详解
2015/02/09 PHP
基于jQueryUI和Corethink实现百度的搜索提示功能
2016/11/09 PHP
PHP实现可精确验证身份证号码的工具类示例
2018/05/31 PHP
在JavaScript中实现命名空间
2006/11/23 Javascript
通过action传过来的值在option获取进行验证的方法
2013/11/14 Javascript
选择复选框按钮置灰否则按钮可用
2014/05/22 Javascript
jQuery学习笔记之jQuery构建函数的7种方法
2014/06/03 Javascript
jQuery设置和获取HTML、文本和值示例
2014/07/08 Javascript
Jquery中offset()和position()的区别分析
2015/02/05 Javascript
浅析Javascript匿名函数与自执行函数
2016/02/06 Javascript
javascript中Number的方法小结
2016/11/21 Javascript
JQuery获取鼠标进入和离开容器的方向
2016/12/29 Javascript
JS正则截取两个字符串之间及字符串前后内容的方法
2017/01/06 Javascript
JavaScript实现QQ聊天消息展示和评论提交功能
2017/05/22 Javascript
JS设计模式之单例模式(一)
2017/09/29 Javascript
js实现关闭网页出现是否离开提示
2017/12/07 Javascript
Angularjs过滤器实现动态搜索与排序功能示例
2017/12/13 Javascript
vue实现文件上传功能
2018/08/13 Javascript
Vuex 快速入门(简单易懂)
2018/09/20 Javascript
vuex 动态注册方法 registerModule的实现
2019/07/03 Javascript
layui table去掉右侧滑动条的实现方法
2019/09/05 Javascript
python pycurl验证basic和digest认证的方法
2018/05/02 Python
Django处理文件上传File Uploads的实例
2018/05/28 Python
python爬虫获取小区经纬度以及结构化地址
2018/12/30 Python
解决Django后台ManyToManyField显示成Object的问题
2019/08/09 Python
Win下PyInstaller 安装和使用教程
2019/12/25 Python
Python csv文件记录流程代码解析
2020/07/16 Python
Python进行特征提取的示例代码
2020/10/15 Python
CSS3实现缺角矩形,折角矩形以及缺角边框
2019/12/20 HTML / CSS
理工科学生的自我评价
2013/12/15 职场文书
材料物理专业求职信
2014/09/01 职场文书
2015高三毕业寄语赠言
2015/02/27 职场文书
Python 恐龙跑跑小游戏实现流程
2022/02/15 Python