我将在推送方法上添加一个额外的更新函数,代码如下:
function update() {
console.log("update");
}
let method = 'push';
let oldMethod = Array.prototype[method];
Array.prototype[method] = function () {
update();
oldMethod.call(this,...arguments);
}
有人能解释一下为什么我应该使用oldMethod.call(this,...arguments)
而不是仅使用oldMethod()
吗?
如果您不调用;真实的";.push()
与.call()
,this
的值(将向其中推送新值的数组(将被解除绑定,并且不起作用。