当前位置: 首页 > news >正文

【JavaScript】匿名函数及回调函数总结

JavaScript 匿名函数
匿名函数没有显式的名称, 被视为一个函数表达式,可以在不需要额外命名的情况下进行定义和使用, 通常被用作回调函数, 即将函数作为参数传递给其他函数。

回调函数是在特定事件或条件发生时被调用的函数,回调函数通常用于异步编程中,比如ajax 中的success就是一个回调函数,用于处理请求成功的结果。

基础形式

//函数赋值给了一个变量sub, 函数本身并没有一个具名标识符
let add = function (x, y) { return x - y;
}
console.log("sub", add(3, 6));

箭头函数

//箭头函数是一种匿名函数
//省略function添加 =>
let add = (a, b) => { return a + b;
}
console.log("plus", add(5, 10));

隐式返回

//在函数体内只有一个表达式的情况下, 可以省略花括号{}和return关键字
let add = (a, b) => a + b
console.log("plus2", add(10, 20))

针对上述知识,举一个实际案例:

// 原始数组
let numbers = [5, 12, 8, 20, 3, 15];// 过滤函数:使用匿名函数作为回调,过滤出大于10的数字,返回的新数组存储在filteredNumbers中
let filteredNumbers = numbers.filter(function(num) {return num > 10;
});
console.log("过滤后的数组:", filteredNumbers); // 输出: [12, 20, 15]// 排序函数:使用箭头函数作为回调,按升序排序,结果存储在sortedNumbers中
let sortedNumbers = filteredNumbers.sort((a, b) => a - b);
console.log("排序后的数组:", sortedNumbers);   // 输出: [12, 15, 20]
  • filter用于创建一个新数组,包含所有通过提供的测试函数的元素。
  • 语法:array.filter(callback(element))
  • callback是一个函数,接受当前元素作为参数,并返回一个布尔值。如果返回 true,该元素将包含在新数组中。

  • sort用于对数组的元素进行排序,并返回排序后的数组。
  • 语法:array.sort(compareFunction)
  • compareFunction是一个可选的函数,定义排序顺序。

箭头函数(a, b) => a - b可以实现按升序排列数组中的数字。如果需要降序排列,可以使用(a, b) => b - a。

相关文章:

【JavaScript】匿名函数及回调函数总结

JavaScript 匿名函数 匿名函数没有显式的名称, 被视为一个函数表达式,可以在不需要额外命名的情况下进行定义和使用, 通常被用作回调函数, 即将函数作为参数传递给其他函数。 回调函数是在特定事件或条件发生时被调用的函数,回调函数通常用于异步编程中…...

HTML鼠标移动的波浪线动画——页面将会初始化一个Canvas元素,并使用JavaScript代码在Canvas上绘制响应鼠标移动的波浪线动画

代码如下 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Wave Animation</title><style&…...

树莓派开发相关知识八-其他传感器

1、蜂鸣器 #!/usr/bin/env python #coding:utf-8import RPi.GPIO as GPIO import time OUT5 def init():GPIO.setwarnings(False)GPIO.setmode(GPIO.BCM)GPIO.setup(OUT,GPIO.OUT)#蜂鸣器鸣叫函数 def beep(seconds):GPIO.output(OUT,GPIO.HIGH)time.sleep(seconds)GPIO.output…...

ComfyUI - ComfyUI 工作流中集成 SAM2 + GroundingDINO 处理图像与视频 教程

欢迎关注我的CSDN&#xff1a;https://spike.blog.csdn.net/ 本文地址&#xff1a;https://spike.blog.csdn.net/article/details/143359538 免责声明&#xff1a;本文来源于个人知识与公开资料&#xff0c;仅用于学术交流&#xff0c;欢迎讨论&#xff0c;不支持转载。 SAM2 与…...

STM32G4 双ADC模式之常规同步模式独立注入模式

目录 概述 1 认识双ADC模式 2 功能实现 2.1 原理介绍 2.2 实现方法 概述 本文主要介绍STM32G4 双ADC模式之常规同步模式&独立注入模式相关内容&#xff0c;包括ADC模块的功能介绍&#xff0c;实现框架结构&#xff0c;以及常规同步模式&独立注入模式ADC的转换的实…...

深入理解网络协议:OSPF、VLAN、NAT与ACL详解

OSPF工作过程与基础配置 一、OSPF的工作过程 OSPF&#xff08;开放最短路径优先&#xff09;是一个广泛使用的路由协议&#xff0c;它的工作过程可以总结为以下几个步骤&#xff1a; 启动与邻居发现 OSPF在配置完成后&#xff0c;会通过本地组播地址224.0.0.5发送HELLO包。HE…...

idea 配置tomcat 服务

选择tomcat的安装路径 选到bin的文件夹的上一层就行...

.net core 接口,动态接收各类型请求的参数

[HttpPost] public async Task<IActionResult> testpost([FromForm] object info) { //Postman工具测试结果&#xff1a; //FromBody,Postman的body只有rawjson时才进的来 //参数为空时&#xff0c;Body(form-data、x-www-form-urlencoded)解析到的数据也有所…...

关注!这些型号SSD有Windows蓝屏问题需要修复

近期&#xff0c;在闪迪官方有一个SSD FW升级提醒&#xff0c;主要是为了解决Windows 11 24H2系统蓝屏的问题&#xff1a; Fix问题&#xff1a;这些SSD的主机内存缓冲区&#xff08;Host Memory Buffer&#xff0c;简称HMB&#xff09;功能可能会导致系统出现蓝屏死机&#xff…...

go语言gin框架平滑关闭——思悟项目技术2

目录 前言 直接关闭的缺陷 平滑关闭的使用场景 例子 思悟项目&#xff1a; golang qq邮件发送验证码——思悟项目技术1 前言 平滑关闭&#xff08;graceful shutdown&#xff09;是指在停止服务时&#xff0c;能够让现有的连接、任务或者操作优雅地完成&#xff0c;而不是…...

K8S flannel网络模式对比

K8S flannel网络模式对比 VXLAN 模式Host-GW 模式如何查看 Flannel 的网络模式?如何修改 Flannel 的网络模式?如何修改flannel vxlan端口?Flannel 是一个 Kubernetes 中常用的网络插件,用于在集群中的节点之间提供网络连接。Flannel 提供了多种后端实现方式,vxlan 和 host…...

Vue前端框架:Vue前端项目文件目录

文章目录 package.json 文件node_modulessrc&#xff08;Source Code 的缩写&#xff09;文件夹主要子文件夹及内容 publicdist package.json 文件 所在文件夹&#xff08;通常是项目根目录&#xff09; 虽然 package.json 本身不是一个文件夹&#xff0c;但它所在的文件夹&a…...

git回滚到指定的提交

如果你想回滚到特定的提交&#xff08;例如 aa0ca72c&#xff09;&#xff0c;并且丢弃之后的所有更改&#xff0c;可以使用 git reset 命令。请注意&#xff0c;git reset 会改变你的提交历史&#xff0c;所以在多人协作项目中应谨慎使用。如果已经推送到远程仓库&#xff0c;…...

手机怎么玩森林之子?远程玩森林之子教程

你喜欢《森林之子》这款开放世界恐怖生存模拟游戏吗&#xff1f;玩家会被派到一座孤岛上&#xff0c;寻找一位失踪的亿万富翁&#xff0c;并深陷被食人生物占领的地方。你需要制作工具和武器、建造房屋&#xff0c;倾尽全力生存下去&#xff0c;无论独自一人还是与朋友一起。如…...

深度学习之网络与计算

1 网络操作与计算 1.1 前向传播与反向传播&#xff1f; 神经网络的计算主要有两种&#xff1a;前向传播&#xff08;foward propagation, FP&#xff09;作用于每一层的输入&#xff0c;通过逐层计算得到输出结果&#xff1b;反向传播&#xff08;backward propagation, BP&a…...

《JVM第1课》Java 跨平台原理

无痛快速学习JVM&#xff0c;欢迎订阅本免费专栏 JVM Java的特性就是程序员一次编写&#xff0c;到处运行&#xff0c;意思是我们只需要写一份代码&#xff0c;就可以在不同的操作系统&#xff08;windows、Linux、Mac OS等&#xff09;中运行。但是不同的操作系统能看懂的指令…...

计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-10-30

计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-10-30 目录 文章目录 计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-10-30目录1. Step Guided Reasoning: Improving Mathematical Reasoning using Guidance Generation and Step Reasoning摘要研究背…...

加强版 第五节图像处理与视频分析

基本概念 图像轮廓 主要针对二值图像&#xff0c;轮廓是一系列点 vector<vector<Point>xxx用于存储多个点 vector<Vec4i>xxx包含四个整数&#xff0c;分别代表下一个轮廓的索引&#xff0c;上一个轮廓的索引&#xff0c;一个子轮廓的索引和父轮廓的索引 相…...

Orleans8.2入门测试

微软官方文档&#xff1a;快速入门&#xff1a;使用 ASP.NET Core 生成第一个 Orleans 应用 - .NET | Microsoft Learn 项目及引入的nuget库&#xff1a; 1、接口项目&#xff1b;2、接口实现项目&#xff1b;3、silo项目&#xff1b;4、客户端项目 其中Microsoft.Orleans.St…...

【Linux 25】网络套接字 socket 概念

文章目录 &#x1f308; 一、IP 地址概念⭐ 1. IP 地址的作用⭐ 2. 源 IP 地址和目的 IP 地址 &#x1f308; 二、端口号概念⭐ 1. 源端口号和目的端口号⭐ 2. 端口号范围划分⭐ 3. 端口号 VS 进程 ID⭐ 4. 套接字 socket 的概念 &#x1f308; 三、传输层的典型代表协议⭐ 1. …...

Java开发者必看:Lingbot深度模型服务端集成与高并发处理

Java开发者必看&#xff1a;Lingbot深度模型服务端集成与高并发处理 最近和几个做Java后端的朋友聊天&#xff0c;发现大家对接AI模型服务时&#xff0c;都遇到了类似的头疼事。模型本身效果不错&#xff0c;但一集成到自己的Spring Boot项目里&#xff0c;特别是流量稍微大点…...

AI结对编程:利用快马平台智能助手深度理解和优化PyTorch代码

最近在折腾PyTorch项目时&#xff0c;发现很多细节问题光靠查文档效率太低。后来尝试用InsCode(快马)平台的AI辅助功能&#xff0c;发现它不仅能解释代码原理&#xff0c;还能直接给出优化方案&#xff0c;简直是深度学习开发的"外挂"。分享几个实用场景&#xff1a;…...

计算机毕业设计springboot盐城市亭湖区药店销售管理系统 基于SpringBoot的盐城亭湖区医药零售信息化管理平台 亭湖区智慧药店进销存与在线服务系统

计算机毕业设计springboot盐城市亭湖区药店销售管理系统7f7299 &#xff08;配套有源码 程序 mysql数据库 论文&#xff09;本套源码可以先看具体功能演示视频领取&#xff0c;文末有联xi 可分享 在数字化医疗改革持续推进的背景下&#xff0c;基层药店作为医药服务的重要终端&…...

掌握通达信数据接口:量化分析从入门到精通

掌握通达信数据接口&#xff1a;量化分析从入门到精通 【免费下载链接】mootdx 通达信数据读取的一个简便使用封装 项目地址: https://gitcode.com/GitHub_Trending/mo/mootdx 解决量化数据获取难题&#xff1a;MOOTDX的技术方案与实战应用 如何突破量化分析的数据获取…...

从模型到应用:深入解析Source-Free Domain Adaptation(SFDA)的核心挑战与实战策略

1. 什么是Source-Free Domain Adaptation&#xff08;SFDA&#xff09;&#xff1f; 想象一下你是一个厨师&#xff0c;花了三年时间在四川学会了做正宗川菜。现在突然被派到广东工作&#xff0c;发现当地人对辣味的接受度完全不同。更麻烦的是&#xff0c;你不能带任何四川的食…...

Token 中文定名词元,国产 AI 工具如何抢占词元红利?

3 月 23 日&#xff0c;中国发展高层论坛 2026 年年会上&#xff0c;国家数据局局长刘烈宏正式官宣&#xff1a;AI 领域核心术语 Token 的中文标准译名确定为“词元”。这一官方定名&#xff0c;结束了之前 “令牌”“代币”“词块” 等译法混用的行业乱象&#xff0c;为中国 A…...

Comsol瓦斯抽采:深入探索复杂的地下奥秘

comsol瓦斯抽采 该案例涉及不同抽采数学模型理论 不同渗透率模型、有效应力分布媒体变形情况、瓦斯抽采量瓦斯压力分布 涵盖不同地应力工况对比 有数个详细视频 视频涉及理论分析及推导、模型建立及案例操作过程在煤矿开采领域&#xff0c;瓦斯抽采是一项至关重要的技术&#x…...

解锁DeerFlow:零基础搭建智能研究环境完全指南

解锁DeerFlow&#xff1a;零基础搭建智能研究环境完全指南 【免费下载链接】deer-flow DeerFlow is a community-driven framework for deep research, combining language models with tools like web search, crawling, and Python execution, while contributing back to th…...

Meta Manus vs OpenClaw:2026年AI Agent之战,谁才是你的最佳选择?

## 引言2026年AI Agent市场迎来爆发式增长&#xff0c;预计到2034年将达到1400亿美元规模。在这个赛道上&#xff0c;Meta的Manus和开源项目OpenClaw成为最受关注的两大竞争者。本文将深入分析两者的差异&#xff0c;帮助你做出最佳选择。## Meta Manus&#xff1a;巨头的入场#…...

Python调用SM9国密库的7个致命陷阱:92%开发者踩过的坑,现在修复还来得及

第一章&#xff1a;SM9国密算法原理与Python生态适配全景SM9是国家密码管理局发布的基于标识的密码算法标准&#xff08;GB/T 38635.1—2020&#xff09;&#xff0c;采用双线性对构造&#xff0c;支持无需数字证书的签名、密钥协商与加密功能&#xff0c;其安全性依赖于椭圆曲…...