Webdesign-Agentur


Geschichte

Dein Designunternehmen hat bisher vor allem mit CSS-Transformationen gearbeitet, um Webseiten zu erstellen. Nach einiger Diskussion entscheidet ihr euch, JavaScript zu verwenden, um einige der Berechnungen dynamisch durchzuführen. Einige deiner Teamkollegen haben weniger Erfahrung mit JavaScript, also beschließt du, eine Closure zu verwenden, um eine wiederverwendbare Transformation für {x, y}-Koordinatenpaare zu erstellen.

Aufgaben

  • Erstelle eine Funktion, deren Argumente als Closure in einer zurückgegebenen Funktion verwendet werden.

    • Eine Funktion für eine 2D-Verschiebung, bei der die äußere Funktion angibt, um wie viel verschoben wird, und die zurückgegebene Funktion eine x, y-Koordinate annimmt und die verschobenen Koordinaten zurückgibt.
    • Eine Funktion für eine 2D-Skalierung, bei der die äußere Funktion den Skalierungsfaktor angibt, und die zurückgegebene Funktion eine x, y-Koordinate annimmt und die skalierten Koordinaten zurückgibt.
    • Eine Funktion, die eine Funktion zurückgibt, die zwei Funktionen komponiert, also im Grunde eine Funktion für g(f(x))
  • Erstelle eine Funktion, die eine andere Funktion memoisiert.

Implementierungen