JavaScript类数组

数组的特性

以下是《JavaScript高级程序设计》中对数组特性的定义
1. 当新的元素添加到列表时,自动更新length属性
2. 设置length为一个较小值将截断数组
3. 从Array.prototype中继承一些有用的方法
4. 其类属性为“Array”

类数组

在js中有一些对象它也拥有length属性,且拥有为非负整数的属性,但是它又不能调用数组的方法,这种对象被称为类数组对象

简单的一个类数组
var arrAlike={0:'a',1:'b',2:'c',length:3}
console.log(arrAlike)
Object {0: "a", 1: "b", 2: "c", length: 3}
0:"a"
1:"b"
2:"c"
length:3
__proto__:Object
HTMLCollection,Arguments是两个经典的类数组对象

HTMLCollection

<div></div>
<div></div>
<div></div>
var divs = document.getElementsByTagName('div')
console.log(divs)
(3) [div,div,div]
0:div
1:div
2:div
length:3
__proto__:HTMLCollection

Arguments

function foo(){
   console.log(arguments)
}
foo('a','b','c')
[object Arguments] {
  0: "a",
  1: "b",
  2: "c"
}
类数组转化为数组

类数组虽然无法直接使用数组的方法,但是可以间歇的使用 Function.call方法调用Array.prototype的方法。
如下:

var arrAlike={0:'a',1:'b',2:'c',length:3}
var arr = Array.prototype.slice.call(arrAlike)
console.log(arr)
 (3) ['a','b','c']

以上是我在学习javaScript过程中做的一些总结,如有不足之处,还请指正

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值