Вы можете украсть символ функции, как и это:
var b = a; // <== Takes the original `a` and remembers it as `b`
a = function() { // <== Assigns a new function to `a`
var rv = b(); // <== Calls what used to be `a`, remembers its return value
console.log("hi");
return rv; // <== Returns what the old function returned
};
Конечно, если вам не нужен возврат стоимость вещи, вы можете оставить его, но если вы притворяясь старая функция, вероятно, лучше всего вернуть то, что она возвращает.
Если вам нужно передать аргументы к нему и просто хочу, чтобы передать все аргументов ваша новая функция получает, вы можете сделать это с Function#apply
и специальной arguments
псевдо-массива:
var b = a;
a = function() {
var rv = b.apply(this, arguments); // Calls the original `a` with the current
// `this` and all the args we were given
console.log("hi");
return rv;
};
Какой текстовый редактор вы используете для редактирования этой функции? –
Вы хотите добавить функциональность к функции? То есть, вы хотите делать то, что он уже делает, плюс что-то еще? –
Просто * над * пишите? – Bergi