Метод псевдонимов Цепочка в JavaScript?
-
26-09-2019 - |
Вопрос
В JavaScript, как можно создать новую функцию с тем же именем, что и существующая функция, в то время как также сохранение исходной функции, чтобы ее можно было вызвать из нового?
Решение
Вы можете передавать оригинальную функцию в анонимную функцию, которая возвращает функцию замены, которая имеет доступ к исходной функции.
Например
parseInt = (function parseInt(original) {
return function (x) {
console.log("original would've returned " + original(x));
// just random 'new' functionality
return (x | 0) * 2;
};
}(parseInt));
Пример вывода:
>> parseInt(10);
<< original would've returned 10
<< 20
Другие советы
Вы хотите реализовать Функциональная упаковка, Проверьте следующие статьи:
Вы можете просто назначить старую функцию переменной с другим именем:
var old_parseInt = parseInt;
function parseInt(s) {
return old_parseInt(s) + 1;
}
Не связан с StackOverflow