js中 类数组对象

类数组对象 自身特征:

类数组对象首先是个对象,非null,非undefined,另外该对象长度(小于2^32)有限。可以对照代码理解一下它的含义:假设obj是一个类数组对象

obj && typeOf obj=="object"       //n非null,undefined,且是对象
&& isFinite(obj.length)      //长度有限,且为非负值,整数,小于2^32
&& obj.length >= 0  
&& obj.length ===Math.floor(o.length) 
&& obj.length < 2^32

类数组对象 方法属性:

  1. 可以使用for循环

  2. 类数组对象没有继承 Array.prototype,因此不能直接调用数组方法,不过其可以间接使用Function.call方法调用,如:Array.prototype.slice.call();

     如:
     var a={"0":"a","1":"b","2":"c",length:3};  //这是一个类数组对象
     Array.prototype.join.call(a,"+");      //"a+b+c"
     Array.prototype.slice.call(a,0);       //["a","b","c"],真正数组的副本
     Array.prototype.map.call(a,function (x) {
         return x.toUpperCase();      //["A","B","C"]
     });
    

常见的 类数组对象 介绍:

  1. Arguments对象;
  2. document.getElementsByTagName()返回一个类数组对象

arguments类数组对象 特点

  1. 它将实参以数组的形式保存着,还可以像数组一样访问实参,如arguments[0]
  2. 它也有自己独特的属性,如:arguments.callee,是当前正在执行的函数的引用;
  3. 它的长度是实参的个数arguments.length表示 参数个数。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值