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');
}
添加回答
舉報