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 相关文章推荐
js动态在form上插入enctype=multipart/form-data的问题
May 24 Javascript
如何动态的导入js文件具体该怎么实现
Jan 14 Javascript
JavaScript Serializer序列化时间处理示例
Jul 31 Javascript
基于jquery实现的可编辑下拉框实现代码
Aug 02 Javascript
用Object.prototype.toString.call(obj)检测对象类型原因分析
Oct 11 Javascript
Windows下Node爬虫神器Puppeteer安装记
Jan 09 Javascript
vue 的 solt 子组件过滤过程解析
Sep 07 Javascript
vue之a-table中实现清空选中的数据
Nov 07 Javascript
前端深入理解Typescript泛型概念
Mar 09 Javascript
vue实现表单未编辑或未保存离开弹窗提示功能
Apr 08 Javascript
vue如何使用rem适配
Feb 06 Vue.js
React Hook用法示例详解(6个常见hook)
Apr 28 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安装攻略:常见问题解答(一)
2006/10/09 PHP
php使用glob函数快速查询指定目录文件的方法
2014/11/15 PHP
php实现猴子选大王问题算法实例
2015/04/20 PHP
apache集成php7.3.5的详细步骤
2019/06/20 PHP
奇妙的js
2007/09/24 Javascript
JavaScript游戏之优化篇
2010/11/08 Javascript
select标签模拟/美化方法采用JS外挂式插件
2013/04/01 Javascript
innerText 使用示例
2014/01/23 Javascript
js判断横竖屏及禁止浏览器滑动条示例
2014/04/29 Javascript
jQuery照片伸缩效果不影响其他元素的布局
2014/05/09 Javascript
jQuery类选择器用法实例
2014/12/23 Javascript
JavaScript中对象介绍
2014/12/31 Javascript
JQuery使用$.ajax和checkbox实现下次不在通知功能
2015/04/16 Javascript
jQuery与getJson结合的用法实例
2015/08/07 Javascript
学习使用jquery iScroll.js移动端滚动条插件
2020/03/24 Javascript
Web前端开发工具——bower依赖包管理工具
2016/03/29 Javascript
checkbox 选中一个另一个checkbox也会选中的实现代码
2016/07/09 Javascript
js实现文字截断功能
2016/09/14 Javascript
jquery对table做排序操作的实例演示
2017/08/10 jQuery
JS实现显示当前日期的实例代码
2018/07/03 Javascript
vue实现歌手列表字母排序下拉滚动条侧栏排序实时更新
2019/05/14 Javascript
layui添加动态菜单与选项卡
2019/07/26 Javascript
vue 微信分享回调iOS和安卓回调出现错误的解决
2020/09/07 Javascript
Python中的descriptor描述器简明使用指南
2016/06/02 Python
Python PO设计模式的具体使用
2019/08/16 Python
python logging.info在终端没输出的解决
2020/05/12 Python
vscode调试django项目的方法
2020/08/06 Python
Python confluent kafka客户端配置kerberos认证流程详解
2020/10/12 Python
美国猫狗药物和用品网站:PetCareRx
2017/01/05 全球购物
维多利亚的秘密官方旗舰店:VICTORIA’S SECRET
2018/04/02 全球购物
高中毕业生自我鉴定
2013/11/03 职场文书
学生党员思想汇报
2013/12/28 职场文书
公务员培训自我鉴定
2014/02/01 职场文书
县长“四风”对照检查材料思想汇报
2014/10/05 职场文书
小程序实现文字循环滚动动画
2021/06/14 Javascript
Java 深入探究讲解简单工厂模式
2022/04/07 Java/Android