网页设计公司


故事

你的设计公司一直以来主要使用 CSS 变换来构建网页。经过一番讨论,大家决定开始使用 JavaScript 来动态执行一些计算。你的一些队友对 JavaScript 不太熟悉,所以你决定使用函数闭包,为{x, y}坐标对创建可复用的变换。

任务

  • 创建一个函数,其参数在返回的函数中用作闭包。

    • 一个用于二维平移的函数:外层函数指定平移量,返回的函数接受 x、y 坐标,并返回平移后的坐标。
    • 一个用于二维缩放的函数:外层函数指定缩放量,返回的函数接受 x、y 坐标,并返回缩放后的坐标。
    • 一个返回函数的函数,这个返回的函数会组合两个函数,实际上就是用于g(f(x))的函数。
  • 创建一个能记忆化另一个函数的函数。

实现