打工e族

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 82|回复: 0

如何在 JavaScript 中使用高阶函数

[复制链接]

1

主题

1

帖子

5

积分

初入职场

Rank: 1

积分
5
发表于 2024-1-13 19:04:29 | 显示全部楼层 |阅读模式
将另一个函数作为参数或将函数定义为返回值的函数称为高阶函数。 0s Play Video Forward Skip 10s JavaScript 可以接受高阶函数。除了其他特性之外,这种处理高阶函数的能力使 JavaScript 成为非常适合函数式编程的编程语言之一。 JavaScript 将函数视为一等公民 您可能听说过 JavaScript 函数是一等公民。这意味着 JavaScript 中的函数是对象。 它们具有类型Object,可以被指定为变量的值,并且可以像任何其他引用变量一样传递和返回。 一等函数赋予 JavaScript 特殊的能力,使我们能够从高阶函数中受益。 学习使用 JavaScript 编码 由于函数是对象,因此 JavaScript 是支持函数式编程的自然方法的流行编程语言之一。 事实上,一等函数对于 JavaScript 的方法来说是如此原生,我敢打赌您已经在不假思索地使用它们了。 高阶函数可以将函数作为参数 如果您做过大量 JavaScript Web 开发,您可能遇到过使用回调的函数。


回调函数是在所有其他操作完成后在操作结束时执行的函数。 通常,我们最后将这个函数作  电话号码数据库  为参数传递,在其他参数之后。它通常被内联定义为匿名函数。回调函数依赖于 JavaScript 处理高阶函数的能力。 JavaScript 是一种单线程语言。这意味着一次只能执行一项操作。 为了避免操作相互阻塞或阻塞系统主线程(这会导致死锁),引擎确保所有操作按顺序执行。它们沿着这个单一线程排队,直到可以安全地发生另一个代码事务。 将函数作为参数传递并在父函数的其他操作完成后运行它的能力对于支持高阶函数的语言至关重要。 JavaScript 中的回调函数允许异步行为,因此脚本可以在等待结果时继续执行其他函数或操作。 学习使用 JavaScript 编码 在处理可能在不确定的时间段后返回结果的资源时,传递回调函数的能力至关重要。 这种高阶函数模式在 Web 开发中非常有用。脚本可能会向服务器发送请求,然后需要在响应到达时对其进行处理,而不需要了解服务器的网络延迟或处理时间。 Node.js 经常使用回调函数来有效利用服务器资源。对于在执行功能之前等待用户输入的应用程序,这种异步方法也很有用。 示例:将警报函数传递给元素事件监听器 考虑这个简单的 JavaScript 片段,它将事件侦听器添加到按钮。




学习使用 JavaScript 编码 高阶函数如何支持代码可重用性 我们的小proveIt()函数在结构上独立于它周围的代码,总是返回id触发的任何元素。这种函数设计方法是函数式编程的核心。 这段代码可以存在于使用id元素显示警报的任何上下文中,并且可以使用任何事件侦听器进行调用。 用单独定义和命名的函数替换内联函数的能力开辟了一个充满可能性的世界。 在函数式编程中,我们尝试开发纯函数,这些函数不会更改外部数据,并且每次对于相同的输入都返回相同的结果。 我们现在拥有一个重要的工具来帮助我们开发一个小型的、有针对性的高阶函数库,您可以在任何应用程序中通用地使用它。 注意:传递函数与传递函数对象 请注意,我们传递的proveIt是而不是proveIt()我们的addEventListener函数。 当您按名称传递不带括号的函数时,您正在传递函数对象本身。 当您用括号传递它时,您正在传递执行该函数的结果。 学习使用 JavaScript 编码 使用高阶函数将函数作为结果返回 除了将函数作为参数之外,JavaScript 还允许函数返回其他函数作为结果。 这是有道理的,因为函数只是对象。对象(包括函数)可以定义为函数的返回值,就像字符串、数组或其他值一样。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|打工e族 ( 鲁ICP备2021044221号 )

GMT+8, 2024-11-24 09:54 , Processed in 0.050340 second(s), 19 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表