类数组

2018-07-04  本文已影响9人  极客_Ls

类数组:

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

有下面类数组代码:

var larry = {
        "2":"b",
        "3":"c",
        "length":"2",
        "push":Array.prototype.push,
        "splice":Array.prototype.splice
    }
//浏览器命令
larry
//l浏览器输出
Object { 2: "b", 3: "c", length: "2", push: push(), splice: splice() } 
//浏览器命令
larry.push("a")
//l浏览器输出
3
//浏览器命令
larry
//l浏览器输出
Object { 2: "a", 3: "c", length: 3, push: push(), splice: splice() } 
//浏览器命令
larry.push("d")
//l浏览器输出
4
//浏览器命令
larry
//l浏览器输出
Object { 2: "a", 3: "d", length: 4, push: push(), splice: splice() } 
//浏览器命令
larry.push("e")
//l浏览器输出
5
//浏览器命令
larry
//l浏览器输出
Object { 2: "a", 3: "d", 4: "e", length: 5, push: push(), splice: splice() } 
//浏览器命令
larry.push("f")
//l浏览器输出
6
//浏览器命令
larry
//l浏览器输出
Object { 2: "a", 3: "d", 4: "e", 5: "f", length: 6, push: push(), splice: splice() }

上述运算sj原理:

Array.prototype.push = function (target){
  obj[obj.length] = target;
  obj.lenght++;
}
上一篇 下一篇

猜你喜欢

热点阅读