lambdas(匿名函数)、 first-class functions(头等函数)、higher-order functions(高阶函数)、unary functions(一元函数)、currying(柯里化 )和pure functions(纯函数)。
匿名函数(箭头函数):
// this is your regular named function in JavaScript
function namedFunction (a, b) {
return a + b;
}
// this is a lambda, i.e. an arrow function
const lambda = (a, b) => a + b;
将它视为函数的新缩短语法就行。然而,在对象或类中使用它们时要注意this的指向。
头等函数:
First-class type 意味着,该类型可以用作变量的值。在JavaScript中一个字符串是头等类型,一个函数也是头等类型。所以函数可以接受其他函数作为参数,并返回函数作为返回值。
在绑定事件监听器时,函数作为first-class被使用:
const handler = () => console.log ('I am function');
document.addEventListener ('click', handler);
高阶函数:
高阶函数是一个接受其他函数作为参数或将函数作为返回值返回的函数。 Fi