chaîne méthode Alias en JavaScript?
-
26-09-2019 - |
Question
En JavaScript, comment pourriez-vous créer une nouvelle fonction avec le même nom qu'une fonction existante, tout en conservant la fonction d'origine de sorte qu'il pourrait être appelé à l'intérieur du nouveau?
La solution
Vous pouvez passer la fonction d'origine en une fonction anonyme qui retourne une fonction de remplacement qui a accès à la fonction d'origine.
par exemple.
parseInt = (function parseInt(original) {
return function (x) {
console.log("original would've returned " + original(x));
// just random 'new' functionality
return (x | 0) * 2;
};
}(parseInt));
sortie Exemple:
>> parseInt(10);
<< original would've returned 10
<< 20
Autres conseils
Vous voulez mettre en œuvre emballage fonction , consultez les articles suivants:
- Fonctions d'emballage en JavaScript
- Fonction Emballage
Vous pourriez simplement attribuer l'ancienne fonction à une variable avec un nom différent:
var old_parseInt = parseInt;
function parseInt(s) {
return old_parseInt(s) + 1;
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow