網頁設計公司


故事

你的設計公司一直以來主要使用 CSS 轉換來打造網頁。經過一番討論後,你們決定開始使用 JavaScript 來動態執行部分計算。你的幾位隊友對 JavaScript 比較不熟悉,所以你決定使用函式閉包,為{x, y}座標對建立可重複使用的轉換。

任務

  • 建立一個函式,讓它的參數在回傳的函式中形成閉包。

    • 一個 2D 平移的函式:外層函式指定平移的量,回傳的函式接受一組 x、y 座標,並回傳平移後的座標。
    • 一個 2D 縮放的函式:外層函式指定縮放的量,回傳的函式接受一組 x、y 座標,並回傳平移後的座標。
    • 一個會回傳函式的函式,該函式會組合兩個函式,實際上就是g(f(x))這樣的函式。
  • 建立一個會對函式進行記憶化的函式。

實作