JS函数关于mixin,柯里化,高阶函数

mixin:

Mixin是JavaScript中用的最普遍的模式,几乎所有流行类库都会有Mixin的实现。

Mixin是掺合,混合,糅合的意思,即可以就任意一个对象的全部或部分属性拷贝到另一个对象上。

mixin


加强版

需要注意,toString方法没有添加上,因为obj对象的原型链上有这个方法,如果想覆盖原型链上的toString方法,判断语句需要判断该属性是否为自身属性(hasOwnProperty() 方法会返回一个布尔值,指示对象自身属性中是否具有指定的属性)

柯里化:

在计算机科学中,柯里化(英语:Currying),又译为卡瑞化加里化,是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数而且返回结果的新函数的技术。

简单说:为了实现只传递给函数一部分参数来调用它,让它返回一个函数去处理剩下的参数

实现一个简单的柯里化:

柯里化

bind方法也能实现柯里化:

bind

高阶函数:

维基百科定义:

在数学和计算机科学中,高阶函数是至少满足下列一个条件的函数:

①,接受一个或多个函数作为输入

②,输出一个函数

在《javascript设计模式和开发实践》中是这样定义的。

①,函数可以作为参数被传递;

②,函数可以作为返回值输出。

满足高阶函数的定义的函数有很多

上面介绍的柯里化就是高阶函数,Promise,setInterval,DOM事件等等等.....

你可能感兴趣的:(JS函数关于mixin,柯里化,高阶函数)