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