JavaScript 中的一等公民 函数

    函数式编程
    设计模式
    面向对象

    面向对象和函数式编程的关系
    面向对象编程的缺点
    1.复杂的this指向
    2.点访问耗费性能

    函数式编程
    概念:函数是第一类对象,不依赖其他任何对象独立存在
    优点 易读,容易维护

    纯函数
    相同的输入得到相同的输出,不依赖且不影响外任何外部环境.没有任何副作用。

    1. function memoryFn(fn) {
    2. var cache = {};
    3. return function () {
    4. var args = JSON.stringify(arguments);
    5. cache[args] = cache[args]?cache[args]:fn(arguments);
    6. return cache[args];
    7. }
    8. }