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 相关文章推荐
将CKfinder整合进CKEditor3.0的新方法
Jan 10 Javascript
jquery设置控件位置的方法
Aug 21 Javascript
javascript验证只能输入数字和一个小数点示例
Oct 21 Javascript
Js判断CSS文件加载完毕的具体实现
Jan 17 Javascript
JS判断变量是否为空判断是否null
Jul 25 Javascript
让javascript加载速度倍增的方法(解决JS加载速度慢的问题)
Dec 12 Javascript
AngularJS基础 ng-if 指令用法
Aug 01 Javascript
JavaScript原生编写《飞机大战坦克》游戏完整实例
Jan 04 Javascript
使用electron将vue-cli项目打包成exe的方法
Sep 29 Javascript
javascript匿名函数中的'return function()'作用
Oct 15 Javascript
JS 验证码功能的三种实现方式
Nov 26 Javascript
layui 表单标签的校验方法
Sep 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将任何格式视频转为flv的代码
2009/09/03 PHP
PHP clearstatcache()函数详解
2010/03/02 PHP
php无限分类使用concat如何实现
2015/11/05 PHP
PHP输出XML格式数据的方法总结
2017/02/08 PHP
thinkPHP5.0框架引入Traits功能实例分析
2017/03/18 PHP
改版了网上的一个js操作userdata
2007/04/27 Javascript
js 点击按钮弹出另一页,选择值后,返回到当前页
2010/05/26 Javascript
TypeError document.getElementById(...) is null错误原因
2015/05/18 Javascript
JavaScript实现删除,移动和复制文件的方法
2015/08/05 Javascript
Bootstrap树形菜单插件TreeView.js使用方法详解
2016/11/01 Javascript
bootstrap模态框消失问题的解决方法
2016/12/02 Javascript
运用jQuery写的验证表单(实例讲解)
2017/07/06 jQuery
jquery radio 动态控制选中失效问题的解决方法
2018/02/28 jQuery
Vue自定义toast组件的实例代码
2018/08/15 Javascript
node链接mongodb数据库的方法详解【阿里云服务器环境ubuntu】
2019/03/07 Javascript
如何在Angular8.0下使用ngx-translate进行国际化配置
2019/07/24 Javascript
详解小程序横屏方案对比
2020/06/28 Javascript
python中单下划线_的常见用法总结
2018/07/10 Python
python字典改变value值方法总结
2019/06/21 Python
Python3 读取Word文件方式
2020/02/13 Python
python opencv进行图像拼接
2020/03/27 Python
在jupyter notebook中调用.ipynb文件方式
2020/04/14 Python
如何在keras中添加自己的优化器(如adam等)
2020/06/19 Python
解决pycharm 格式报错tabs和space不一致问题
2021/02/26 Python
美国儿童玩具、装扮和玩偶商店:Magic Cabin
2018/09/02 全球购物
KEEN美国官网:美国人气户外休闲鞋品牌
2021/03/09 全球购物
瀑布模型都有哪些优缺点
2014/06/23 面试题
销售高级职员求职信
2013/10/29 职场文书
秋天的怀念教学反思
2014/04/28 职场文书
八荣八耻的活动方案
2014/08/16 职场文书
学生实习证明范文
2014/09/28 职场文书
党员作风建设整改方案
2014/10/27 职场文书
2015新员工试用期工作总结
2014/12/12 职场文书
2015年国庆节广播稿
2015/08/19 职场文书
OpenCV-Python实现人脸磨皮算法
2021/06/07 Python
游戏《铁拳》动画化!2022年年内播出
2022/03/21 日漫