3 回答

TA贡献1966条经验 获得超4个赞
如果someFunction该功能在全球范围内可用,则可以缓存该功能,创建自己的功能并调用它。
所以如果这是原始的...
someFunction = function() {
alert("done");
}
你会做的...
someFunction = (function() {
var cached_function = someFunction;
return function() {
// your code
var result = cached_function.apply(this, arguments); // use .apply() to call it
// more of your code
return result;
};
})();
注意,我使用了.apply来调用缓存的函数。这样一来,我就可以保留的期望值this,并可以将传入的所有参数作为单个参数传递,而不管有多少个参数。

TA贡献1852条经验 获得超7个赞
首先将实际函数存储在变量中。
var oldFunction = someFunction;
然后定义自己的:
someFunction = function(){
// do something before
oldFunction();
// do something after
};

TA贡献2036条经验 获得超8个赞
您可以使一个函数调用您的代码,然后再调用该函数。
var old_someFunction = someFunction;
someFunction = function(){
alert('Hello');
old_someFunction();
alert('Goodbye');
}
添加回答
举报