<JavaScript>高阶函数

<JavaScript>高阶函数,第1张

高阶函数

一.什么是高阶函数

1.函数作为参数传给另一个函数。

2.函数作为另一个函数的返回结果。

函数作为参数 例如:

// 函数作为参数
// 模拟JS中数组的forEach方法
function forEach (array, fn) {
    for (let i = 0; i < array.length; i++) {
        fn(array[i])
    }
}

let arr1 = [1,2,3,4,5]
forEach (arr1,function(item){
  console.log(item)
}) //依次输出1,2,3,4,5

// filter
function filter (array, fn) {
    let results = []
    for (let i = 0; i < array.length; i++) {
        if (fn(array[i])) {
            results.push(array[i])
        }
    }
    return results
}

let arr2 = [1,3,4,5,7,9]
let r = filter (arr2 , g => g % 2 === 0)
console.log(r)// 输出4

函数作为返回值

function yuanFn () {
    let msg = 'Hello Yuan'
    return function () {
        console.log(msg)
    }
}    
const fn = yuanFn()
fn() //输出 Hello Yuan
二.使用高阶函数的意义

1.使我们的代码更加简洁和准确。

2.使我们关注于数据 而不是实现的方法上。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/946749.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-18
下一篇2022-05-18

发表评论

登录后才能评论

评论列表(0条)

    保存