JavaScript类数组

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

没有数组的方法

1.属性要为索引(数字)属性
2.必须有length属性
3.最好加上push方法
一旦给数组加上一个splice对象,对象就长得像数组那样了
好处:

function test() {
        console.log(arguments);
    }
    test(1, 2, 3, 4, 5, 6);

var obj = {
        "0": 'a',
        "1": 'b',
        "2": 'c',
    }
    var arr = ['a', 'b', 'c'];



var obj = {
        "0": 'a',
        "1": 'b',
        "2": 'c',
        "length": 3,
        "push": Array.prototype.push,
        "splice": Array.prototype.splice
    }

    Array.prototype.push = function(target) {
        obj[obj.length] = target;
        obj.lenth++;
    }

题:给你一个类数组push进去两个字符,问最后的运行结果

    var obj = {
        "2": "a",
        "3": 'b',
        "length": 2,
        "push": Array.prototype.push
    }
    obj.push('c');
    obj.push('d');

    答案:
    obj = {
        "2": "c",
        "3": "d",
        "length": 4
    }

栗子:

    var obj = {
        "0": "a",
        "1": "b",
        "2": "c",
        name: "abc",
        age: 123,
        length: 3,
        push: Array.prototype.push,
        splice: Array.prototype.splice
    }
    for (var prop in obj) {
        console.log(obj[prop]);

    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值