gpt4 book ai didi

javascript - 在javascript中覆盖对象方法

转载 作者:行者123 更新时间:2023-11-30 12:04:54 25 4
gpt4 key购买 nike

我有一个带有回调方法的对象,我应该对其进行扩展。对象是 elementHandle 并且方法 onCheckURLDone(result, data) 在内部某处被调用。我需要执行一些扩展代码并回调原始功能代码。我试过这样的事情:

  var cachedCallback = elementHandle.onCheckURLDone;

elementHandle.onCheckURLDone = (function(result, data){
console.log("Some extended code...");

return function(result, data) {
return cachedCallback.apply(elementHandle, arguments);
}
});

但是这里并没有调用原代码。怎么了?

最佳答案

试试这个:

var cachedCallback = elementHandle.onCheckURLDone;
elementHandle.onCheckURLDone = function (result, data) {
console.log('Some extended code...');
return cachedCallback.apply(elementHandle, arguments);
};

您代码中的原始回调在返回的函数中调用。所以如果你想让它被执行,你必须这样调用它:

elementHandle.onCheckURLDone(someResult, someDate)(someResult, someDate);

我想这不是你想要的。

关于javascript - 在javascript中覆盖对象方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35522876/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com