Frage

In JavaScript, wie könnte man eine neue Funktion mit dem gleichen Namen wie eine vorhandenen Funktion erstellen, während auch die ursprüngliche Funktion zu bewahren, so dass es aus dem neuen bezeichnen könnte?

War es hilfreich?

Lösung

Sie können die ursprüngliche Funktion in eine anonyme Funktion übergeben, die eine Ersatzfunktion zurückgibt, die den Zugriff auf die ursprüngliche Funktion hat.

z.

parseInt = (function parseInt(original) {
    return function (x) {
        console.log("original would've returned " + original(x));

        // just random 'new' functionality
        return (x | 0) * 2;
    };
}(parseInt));

Beispiel Ausgabe:

>> parseInt(10);
<< original would've returned 10
<< 20

Andere Tipps

Sie möchten implementieren Funktion Verpackung , überprüfen Sie folgende Artikel:

Sie können einfach zuweisen die alte Funktion an eine Variable mit einem anderen Namen:

var old_parseInt = parseInt;

function parseInt(s) {
   return old_parseInt(s) + 1;
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top