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