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 相关文章推荐
window.onload 加载完毕的问题及解决方案(上)
Jul 09 Javascript
Firefox下提示illegal character并出现乱码的原因
Mar 25 Javascript
Whatever:hover 无需javascript让IE支持丰富伪类
Jun 29 Javascript
html中table数据排序的js代码
Aug 09 Javascript
JQuery 控制内容长度超出规定长度显示省略号
May 23 Javascript
javascript中DOM复选框选择用法实例
May 14 Javascript
浅析Bootstrap组件之面板组件
May 04 Javascript
jQuery实现智能判断固定导航条或侧边栏的方法
Sep 04 Javascript
ajax的分页查询示例(不刷新页面)
Jan 11 Javascript
微信小程序 选项卡的简单实例
May 24 Javascript
JS实现放烟花效果
Mar 10 Javascript
js实现带有动画的返回顶部
Aug 09 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
截获网站title标签之家内容的例子
2006/10/09 PHP
php 字符串函数收集
2010/03/29 PHP
PHP Parse Error: syntax error, unexpected $end 错误的解决办法
2012/06/05 PHP
PHP常用技巧汇总
2016/03/04 PHP
Laravel5.1自定义500错误页面示例
2016/10/09 PHP
PHP实现的简单AES加密解密算法实例
2017/05/29 PHP
laravel多条件查询方法(and,or嵌套查询)
2019/10/09 PHP
爆炸式的JS圆形浮动菜单特效代码
2010/03/03 Javascript
javascript实现确定和取消提示框效果
2015/07/10 Javascript
浅谈Sublime Text 3运行JavaScript控制台
2016/06/06 Javascript
jquery通过name属性取值的简单实现方法
2016/06/20 Javascript
jQuery中常用动画效果函数(日常整理)
2016/09/17 Javascript
JavaScript自动点击链接 防止绕过浏览器访问的方法
2017/01/19 Javascript
详解用vue编写弹出框组件
2017/07/04 Javascript
layui点击左侧导航栏,实现不刷新整个页面,只刷新局部的方法
2019/09/25 Javascript
nodejs制作小爬虫功能示例
2020/02/24 NodeJs
js实现随机点名
2021/01/19 Javascript
[00:15]TI9观赛名额抽取
2019/07/10 DOTA
Python实现的飞速中文网小说下载脚本
2015/04/23 Python
举例讲解Python中装饰器的用法
2015/04/27 Python
在Python中操作日期和时间之gmtime()方法的使用
2015/05/22 Python
Flask框架Jinjia模板常用语法总结
2018/07/19 Python
python远程连接MySQL数据库
2019/04/19 Python
python生成requirements.txt的两种方法
2019/09/18 Python
Python Sphinx使用实例及问题解决
2020/01/17 Python
Python3 io文本及原始流I/O工具用法详解
2020/03/23 Python
python math模块的基本使用教程
2021/01/16 Python
以思科路由器为例你写下单臂路由的配置命令
2013/08/03 面试题
机电一体化毕业生求职信
2013/11/02 职场文书
小学生元旦广播稿
2014/02/21 职场文书
2014年清明节寄语
2014/04/03 职场文书
群众路线教育实践活动剖析材料
2014/09/30 职场文书
大学生个人总结范文
2015/02/15 职场文书
试用期自我评价范文
2015/03/10 职场文书
MySQL系列之十五 MySQL常用配置和性能压力测试
2021/07/02 MySQL
Windows Server 2012配置DNS服务器的方法
2022/04/29 Servers