mixin、柯里化、高阶函数

2019-10-14  本文已影响0人  _ClariS_

mixin 混入

最基本的 mixin 就是简单地将一个对象的属性复制给另一个对象

var mixin = function(a,b){
  for(let key in b){
    a[key] = b[key]
  }
}

为了简化 mixin,ES6 中提供了一个新的方法 Object.assign

image.png

柯里化(curry)

概念:设有一个关于多个自变量的函数f(x,y)=x+2y,如果将其中一个自变量 x 或 y 固定,得到一个新函数,如g(y)=f(1,y)=1+2y,那么这个新函数就叫做偏函数,而这个变化的过程就叫做柯里化。

image.png

一个简单的例子

image.png

一个稍微复杂点的例子

image.png

从以上例子中可以看出柯里化其实就是一个函数再返回另外一个函数

能将一个函数变为偏函数的库 Underscore.js
http://js.jirengu.com/binik/1/edit?html,js,console,output

HOC 高阶函数

高阶函数是至少满足下列一个条件的函数:

image.png

其中,let f = Function.prototype.bind.call(add, undefined, 1);等价于let f = add.bind(undefined, 1);

高阶组件就是一个组件接收另外一个组件,将其进行一些封装,然后输出接收的这个组件

上一篇下一篇

猜你喜欢

热点阅读