乐趣区

vue数组变异

1. 让一个变量继承数组的方法。

var OldArray=Array.prototype;

var newArray=Object.create(OldArray)

2. 重写该变量的 7 种变异方法

 const mutationMethods = [
  'push',
  'pop',
  'shift',
  'unshift',
  'splice',
  'sort',
  'reverse'
]
      
mutationMethods.forEach((item)=>{let oldFun =OldArray[item]
        //  console.log(oldFun)
          newArray[item]=function(...args){//   console.log(this,item)
            let result=  oldFun.apply(this,args)
           
            return result;
          }
      })

3. 让数组隐式继承新变量的方法

     let arr = []
// 通过隐式原型继承 arrayMethods
    arr.__proto__ = newArray
退出移动版