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 相关文章推荐
JavaScript Event学习第三章 早期的事件处理程序
Feb 07 Javascript
JS 非图片动态loading效果实现代码
Apr 09 Javascript
js定时器怎么写?就是在特定时间执行某段程序
Oct 11 Javascript
HTTP 304错误的详细讲解
Nov 13 Javascript
javascript的函数作用域
Nov 12 Javascript
Javascript基础_标记文字的实现方法
Jun 14 Javascript
JavaScript中常用的验证reg
Oct 13 Javascript
详解如何用webpack打包一个网站应用项目
Jul 12 Javascript
JS解析url查询参数的简单代码
Aug 06 Javascript
彻底搞懂JavaScript中的apply和call方法(必看)
Sep 18 Javascript
VUE安装使用教程详解
Jun 03 Javascript
Javascript实现单选框效果
Dec 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
PHP 中检查或过滤IP地址的实现代码
2011/11/27 PHP
详解php中反射的应用
2016/03/15 PHP
js 纯数字不重复排列的另类方法
2010/07/17 Javascript
心扬JS分页函数代码
2010/09/10 Javascript
MooBox 基于Mootools的对话框插件
2012/01/20 Javascript
jquery实现弹出层遮罩效果的简单实例
2014/03/03 Javascript
AngularJS的内置过滤器详解
2015/05/14 Javascript
js图片跟随鼠标移动代码
2015/11/26 Javascript
AngularJS实现表单手动验证和表单自动验证
2015/12/09 Javascript
javascript自动切换焦点控制效果完整实例
2016/02/02 Javascript
基于canvas的二维码邀请函生成插件
2017/02/14 Javascript
微信小程序movable view移动图片和双指缩放实例代码
2017/08/08 Javascript
vue-cli中的webpack配置详解
2017/09/25 Javascript
实现div内部滚动条滚动到底部和顶部的代码
2017/11/15 Javascript
Vue组件之自定义事件的功能图解
2018/02/01 Javascript
通过jquery toggleClass()属性制作文章段落更改背景颜色
2018/05/21 jQuery
对vue2.0中.vue文件页面跳转之.$router.push的用法详解
2018/08/24 Javascript
JavaScript如何使用插值实现图像渐变
2020/06/28 Javascript
《Python之禅》中对于Python编程过程中的一些建议
2015/04/03 Python
浅谈pandas中shift和diff函数关系
2018/04/08 Python
使用Python 统计高频字数的方法
2019/01/31 Python
python:按行读入,排序然后输出的方法
2019/07/20 Python
python pyenv多版本管理工具的使用
2019/12/23 Python
python实现替换word中的关键文字(使用通配符)
2020/02/13 Python
Python 私有属性和私有方法应用场景分析
2020/06/19 Python
Nike爱尔兰官方网站:Nike.com (IE)
2018/03/12 全球购物
英国婚礼商城:Wedding Mall
2019/11/02 全球购物
反腐倡廉警示教育活动总结
2014/05/05 职场文书
警察先进个人事迹材料
2014/05/16 职场文书
创建绿色社区汇报材料
2014/08/22 职场文书
先进集体事迹材料范文
2014/12/25 职场文书
三八红旗手事迹材料
2014/12/26 职场文书
幼儿园教师师德师风承诺书
2015/04/28 职场文书
工作态度不好检讨书
2015/05/06 职场文书
保密法制宣传月活动总结
2015/05/07 职场文书
导游词之山东八大关
2019/12/18 职场文书