起因
从很早的时候,就有了解到JavaScript是一门带函数式编程性质的语言。
正好今天也看到了《JavaScript权威指南》中有函数式编程与高阶函数的部分。所以今天就学习这个。
高阶函数的介绍
比如以下的例子:
函数接收一个函数作为参数
* 返回f的返回值逻辑非
*
* @param {Function}
* @return {Function}
*/
function not(f) {
return function () {
var result = f.apply(this,arguments)
return !result;
}
}
var even = function (x) {
return x % 2 === 0;
}
函数逻辑非的函数
* @type {Function}
*/
var odd = not(even);
console.log(even(4))
// true
console.log(odd(4))
// false
这就是高阶函数的定义。
结语
高阶函数理解起来不难,但是却在大型框架中各处使用。所以掌握了还是很有好处的。