1. 创建一个新的原型,这就是改造之后的数组原型
const arrayMethods = Object.create(Array.prototype)
2.重新构建Array原型里面的虽有方法
const ArrayProto = []
// 重新构建Array原型里面的虽有方法
Object.getOwnPropertyNames(Array.prototype).forEach(method => {
if (typeof arrayMethods[method] === "function") {
ArrayProto[method] = function () {
console.log("我已经监听到数组触发了" + method + "事件")
arrayMethods[method].apply(this, arguments)
localStorage.setItem('chatList', JSON.stringify(data))
}
} else {
ArrayProto[method] = arrayMethods[method]
}
})
3.哪个数组要监听,就给赋哪个数组的原型(这里我要监听的数组变量名是data)
data.__proto__ = ArrayProto