JavaScript的类数组

类数组

1、可以利用属性名模拟数组的特性
2、可以动态的增长 length 属性
3、如果强行让类数组调用 push 方法,则会根据length 属性值的位置进行属性的扩充。

类数组:本质是一个对象,只是这个 对象 的属性有点特殊,模拟出数组的一些特性,没有数组的方法。

<script>
        function functionName() {
            console.log(arguments);
            arguments.push(7);
        }
        functionName(1, 2, 3, 4, 5, 6);
</script>

在这里插入图片描述

如果给一个对象加上 splice 方法,那么这个对象就长得像数组了。但他仍然是对象,但是可以当做数组来用,需要自己添方法。

    <script>
        var test = {
            0: 'a',
            1: 'b',
            2: 'c',
            length: 3,
            push: Array.prototype.push,
            splice: Array.prototype.splice,

        }
    </script>

在这里插入图片描述
在这里插入图片描述
类数组对象毕竟本质上是一个Object,而不是真正的Array,那么二者的区别在哪里呢?

1、一个是对象,一个是数组
2、数组的length属性,当新的元素添加到列表中的时候,其值会自动更新。类数组对象的不会。
3、设置数组的length属性可以扩展或截断数组。
4、数组也是Array的实例可以调用Array的方法,比如push,pop等等。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值