深入JavaScript

深入JavaScript Day07 - 纯函数、柯里化、组合函

2022-01-14  本文已影响0人  望穿秋水小作坊

一、纯函数

1、什么是纯函数?

image.png

2、副作用的英文是什么?为什么程序产生副作用不好?

image.png

3、纯函数的优势?

image.png image.png

二、柯里化

1、什么是柯里化?有什么用?

image.png image.png

2、利用柯里化思想,实现add5函数?

function sum(num1, num2) {
  return num1 + num2;
}

console.log(sum(5, 10));
console.log(sum(5, 20));
console.log(sum(5, 30));
console.log(sum(5, 40));
function makeAdd(num1) {
  return function (num2) {
    return num1 + num2;
  };
}

var add5 = makeAdd(5);

console.log(add5(10));
console.log(add5(20));
console.log(add5(30));
console.log(add5(40));

三、组合函数

1、什么是组合函数?

2、组合函数的例子?

function work(name) {
  return name + "先工作,";
}

function eat(name) {
  return name + "先吃饭,";
}

function sleep(name) {
  return name + "最后工作,";
}

var result = sleep(eat(work("why")));
console.log(result);

function work(name) {
  return name + "先工作,";
}

function eat(name) {
  return name + "先吃饭,";
}

function sleep(name) {
  return name + "最后工作,";
}

function compose(f1, f2, f3) {
  return function (name) {
    return f3(f2(f1(name)));
  };
}

var flow = compose(work, eat, sleep);

console.log(flow("why"));
image.png
上一篇 下一篇

猜你喜欢

热点阅读