JavaScript——高阶函数

高阶函数就是输入参数中有函数,或者返回值是函数的函数。

1.函数作为参数

​如果大家使用过setTimeout、setInterval和AJAX请求,那么大家已经用过高阶函数了,这也是我们最常看到的场景:**回调函数**,它将函数作为参数传递给另一个函数。例如AJAX请求中,我们会用回调函数来处理请求成功或者失败后的一些逻辑:

$.ajax('/api/request/tabledata', function(res) {

console.log('请求成功!');

})

在Array、Object等基本对象的原型上有很多API,接收回调函数来进行一些逻辑操作。这里说一个很常用的ES6方法filter,此方法返回一个新数组,由回调函数执行后返回true或者为真的元素组成。

const arr = [21, 3, 6, 8, 19];

const newArr = arr.filter(function(item) {

return item > 6;

})

console.log(newArr); // [21, 8, 19]

2.函数作为返回值

另一个经常看到的高阶函数的场景是:一个函数内部返回另一个函数,比如:

function bar() {

return function() {}

}

主要是利用闭包来保持作用域:

function add() {

var number = 0;

return function(x) {

return number += x;

}

}

var newAdd = add();

newAdd(1); // 1

newAdd(2); // 3

欢迎大家一起讨论~~

如果有对前端感兴趣的小伙伴,可以关注并私信我,会经常更新一些知识点,也可以找我要一些视频或者电子书资料~~

最后,请各位小伙伴帮忙投下票,让我知道你们从事前端开发多久了呢。非常感谢

你从事前端开发多久了 (单选)
0人
0%
小于1年
0人
0%
1年
0人
0%
2年
0人
0%
3年
0人
0%
3年以上
<button>投票/<button>


JavaScript——高阶函数

勾引你们进来看我,呜呜呜~~


JavaScript——高阶函数

呜呜呜


JavaScript——高阶函数

就知道你们是跟着美女进来的!!!



分享到:


相關文章: