类数组怎么push

面试官: 知道push么?这个题目解释一下吧

         var obj = {
            '0': 'a',
            '1': 'b',
            length: 2,
            splice: Array.prototype.splice,
            push: Array.prototype.push
        }
        obj.push('c')
        obj.push('d')
        console.log(obj)

输出结果是啥???

类数组怎么push_第1张图片
【原理】

类数组,push是根据length来判断添加的位置的,会给length加1,没有length的话,添加length,值是1,原来length是2的话,push(‘c’),根据length是2,所以下一个的索引是2,push进来的值就应该是'2'的值,所以是2:'c',同理,push('d'),3:d,length是4。

你可能感兴趣的:(JS)