优秀的编程知识分享平台

网站首页 > 技术文章 正文

JavaScript——高阶函数(javascript高级程序编程)

nanyue 2024-07-22 14:15:03 技术文章 9 ℃

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

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

欢迎大家一起讨论~~

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

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





Tags:

猜你喜欢

最近发表
标签列表