函数式编程

  • 函数可以作为一等公民
    • 函数可以赋值给变量(函数表达式写法)
    • 函数可以在变量之间来回传递
    • 函数可以作为另一个函数的参数
    • 函数作为另一个函数的返回值
    • 函数存储在另一个数据结构中
  • 函数式编程: 通常我们对函数作为头等公民的编程方式, 称之为函数式编程
 // 1. 函数的声明(推荐)
  function foo() {
    console.log("foo");
  }

  // 2. 函数的表达式
  var bar = function () {
    console.log("bar");
  };

  // 3. 函数可以作为一等公民
  // 函数可以赋值给变量(函数表达式写法)
  var bar1 = function () {
    console.log("bar");
  };
  // 函数可以在变量之间来回传递
  var bar2 = bar1;
  bar2(); // bar

  // 函数可以作为另一个函数的参数
  function foo1(fn) {
    fn();
  }
  foo1(bar1); // bar

  // 函数作为另一个函数的返回值
  function foo2() {
    return bar;
  }
  foo2()(); //bar

  // 函数存储在另一个数据结构中
  var obj = {
    name: "zgc",
    eating: function () {
      console.log("eating");
    },
  };

  obj.eating(); // eating

  // 4. 函数式编程: 通常我们对函数作为头等公民的编程方式, 称之为函数式编程