Lambda函数(箭头表达式)

箭头函数

也被称为Lambda函数或者箭头表达式,是ECMAScript 2015(又称ES6)中新增的一种函数定义方式。它使用箭头(=>)来定义函数,通常用于定义匿名函数或回调函数。

优点

箭头函数有以下几个显著特点:

  1. 简洁性:箭头函数在语法上比普通函数更加简洁,可以省略关键字function,以及在一些情况下省略圆括号、大括号和return关键字。
  2. 匿名性:箭头函数相当于匿名函数,并简化了函数定义。
  3. 箭头函数不绑定自己的this,arguments,super或new.target。这些值由外围最近的正常函数决定。因此,在箭头函数中,this关键字指向定义函数时的上下文,而不是函数执行时的上下文。

快速入门案例

现在我们在开发中需要调用接口中的方法用实现两个数的相加,但是我们只需要调用这一次。

interface MathOperate{/*** 对两个数进行运算,返回结果*/int numberOperate(int a, int b); 
}

方案一(直接声明)

我们可以声明实现类,并且实现其方法。
这种方法当然可以,但是我们只使用一次,没有必要单独创建一个实现类,这样会增加负担。

方案二(匿名函数)

使用匿名函数

public class Main{public static void main(String[] args){//想要调用接口中的方法用来实现两个数的相加//方法2:匿名内部类MathOperate mathOperate = new MathOperate{@Overrridepublic int numberOperate(int a, int b){return a + b;}};}
}

方案三(lambda表达式)

MathOperate mathOperate =(int i, int j) -> {return i+j
};
//注意,这种方式只能允许有一个方法//对于上面的方式,我们还能进行简化
//由于方法只有一个,所以形参的类型是确定的
MathOperate mathOperate =(m,n) -> m+n;int result = mathOperate.numberOperate(1,2);

在JavaScript中的使用

lambda表达式也可以使用在JS中例如:

<html><head><title>箭头表达式</title></head><body><script type="text/javascript">function numberOperate(a,b,operate){let result = operate(a,b);alert("运算结果是:" + result);}numberOperate(3,9,function(m,n){return m+n;})//上面可以写为numberOperate(3,9,(m,n) => {return m+n;})</script></body>
</html>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/32651.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

力扣每日一题 6/23 字符串/模拟

博客主页&#xff1a;誓则盟约系列专栏&#xff1a;IT竞赛 专栏关注博主&#xff0c;后期持续更新系列文章如果有错误感谢请大家批评指出&#xff0c;及时修改感谢大家点赞&#x1f44d;收藏⭐评论✍ 520.检测大写字母【简单】 题目&#xff1a; 我们定义&#xff0c;在以下…

面试必考题 CSS的居中布局

CSS居中对齐的几种方式 使用flex布局利用css3中的flex弹性盒的属性利用子元素auto 使用grid布局使用定位使用定位与margin利用CSS3属性transform 使用文本对齐使用table布局 使用flex布局 利用css3中的flex弹性盒的属性 .parent {display: flex;justify-content: center;alig…

经典面试题【作用域、闭包、变量提升】,带你深入理解掌握!

前言&#xff1a;哈喽&#xff0c;大家好&#xff0c;我是前端菜鸟的自我修养&#xff01;今天给大家分享经典面试题【作用域、闭包、变量提升】&#xff0c;并提供具体代码帮助大家深入理解&#xff0c;彻底掌握&#xff01;原创不易&#xff0c;如果能帮助到带大家&#xff0…

欧洲杯赛况@20240622

点击标题下「蓝色微信名」可快速关注 斯洛伐克对阵乌克兰&#xff0c;场面上大开大合&#xff0c;施兰茨连场进球&#xff0c;但这次乌克兰丢球后没泄气&#xff0c;连进两球反超&#xff0c; 从数据统计上&#xff0c;两队不相上下&#xff0c;这个小组的形势更加复杂了&#…

【ajax核心05】宏任务与微任务

ES6之后引入Promise对象(用来管理异步任务)&#xff0c;让JS引擎也可以发起异步任务 一&#xff1a;异步任务分类 异步任务分为&#xff1a;宏任务与微任务 宏任务 由浏览器环境执行的异步代码 具体宏任务分类 微任务 由JS引擎执行的代码 创建Promise对象时&#xff0c;…

Java中的Servlet编程:从基础到高级应用

Java中的Servlet编程&#xff1a;从基础到高级应用 大家好&#xff0c;我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01;在本文中&#xff0c;我们将探讨Java中的Servlet编程&#x…

[JS]语句

介绍 代码分类 表达式: 可以被求值的代码称为表达式, 可以用于赋值 语句: 一段可执行的代码, 可以有结果, 可以没有结果, 不能用于赋值 语句分类 代码从上往下执行, 称为顺序结构代码按照条件选择执行, 称为分支结构某些代码被重复执行, 成为循环结构 分支结构 if分支 if…

python-今年第几天

[题目描述] 定义一个结构体变量&#xff08;包括年、月、日&#xff09;。 计算该日在本年中是第几天&#xff0c;注意闰年问题。输入格式&#xff1a; 年 月 日。输出格式&#xff1a; 当年第几天。样例输入 2000 12 31样例输出 366 数据范围 对于100%的数据&#xff0c;保…

【C++PCL】点云处理Kd-tree原理

作者:迅卓科技 简介:本人从事过多项点云项目,并且负责的项目均已得到好评! 公众号:迅卓科技,一个可以让您可以学习点云的好地方 重点:每个模块都有参数如何调试的讲解,即调试某个参数对结果的影响是什么,大家有问题可以评论哈,如果文章有错误的地方,欢迎来指出错误的…

【前端vue3】TypeScrip-基础类型和任意类型

安装TypeScript npm install typescript -g 运行tsc -v可查看当前版本 为了方便调试可以安装 先安装小满zs大神写的工具&#xff0c;可以切换下载源 npm i xmzs -g 安装成功后 使用mmp ls查看当前的源有哪些 使用 mmp use选择镜像源 切换成功后&#xff0c;安装TypeScrip…

C#的膨胀之路:创新还是灭亡

开篇概述 C#&#xff0c;这门由微软推出的编程语言&#xff0c;自2000年诞生以来&#xff0c;以其简洁的语法、强大的功能和广泛的应用场景&#xff0c;赢得了我等程序员的热爱。它在.NET框架的加持下&#xff0c;展现出无与伦比的开发效率和性能。然而&#xff0c;随着时间的流…

PathDecider 详细解读

目录 PathDecider的主要功能 PathDecider代码分析 Process() MakeObjectDecision() MakeStaticObstacleDecision() MakeStaticObstacleDecision()的流程图​编辑 MakeStaticObstacleDecision()的代码解析 GenerateObjectStopDecision() PathDecider里用到的其他函数 …

6 DSL_03地理信息查询相关性算分

1. 根据经纬度查询 (1) geo_bounding_box: 查询geo_point值落在某个矩形范围内的文档get /hotel/_search {"query":{"geo_bounding_box": {"location":{"top_left":{"lat":33.01,"lon":35.36},"bottom_righ…

ARM功耗管理框架之PPU

安全之安全(security)博客目录导读 思考&#xff1a;功耗管理框架&#xff1f;SCP&#xff1f;PPU&#xff1f;LPI&#xff1f;之间的关系&#xff1f;如何配合&#xff1f; 目录 一、功耗管理框架中的PPU 二、PPU的结构与连接关系 三、PPU操作模式和电源模式及其之间的转…

管理不到位,活该执行力差?狠抓这4点要素,强化执行力

管理不到位&#xff0c;活该执行力差&#xff1f;狠抓这4点要素&#xff0c;强化执行力 一&#xff1a;强化制度管理 1、权责分明&#xff0c;追责管理 要知道&#xff0c;规章制度其实就是一种“契约”。 在制定制度和规则的时候&#xff0c;民主一点&#xff0c;征求团队成员…

HTTP网络协议

1.HTTP &#xff08;1&#xff09;概念&#xff1a; Hyper Text Transfer Protocol&#xff0c;超文本传输协议规定了浏览器和服务器之间数据传输的规则。 &#xff08;2&#xff09;特点 基于TCP协议:面向连接&#xff0c;安全基于请求-响应模型的:一次请求对应一次响应HTTP协…

mysql高级语句2存储过程

CREATE VIEW 视图&#xff0c;可以被当作是虚拟表或存储查询。 视图跟表格的不同是&#xff0c;表格中有实际储存数据记录&#xff0c;而视图是建立在表格之上的一个架构&#xff0c;它本身并不实际储存数据记录。 临时表在用户退出或同数据库的连接断开后就自动消失了&…

利用竞争智慧与大型语言模型:假新闻检测的新突破

Explainable Fake News Detection With Large Language Model via Defense Among Competing Wisdom 论文地址: Explainable Fake News Detection with Large Language Model via Defense Among Competing Wisdom | Proceedings of the ACM on Web Conference 2024https://dl.…

WebClient vs RestTemplate

WebClient vs RestTemplate&#xff1a;优缺点总结 RestTemplate 优点&#xff1a; 简单易用&#xff1a;RestTemplate 是同步的&#xff0c;使用方式简单&#xff0c;适合初学者。广泛使用&#xff1a;在很多Spring项目中已经广泛使用&#xff0c;有丰富的文档和社区支持。…

LeetCode 100342. 最小元素和最大元素的最小平均值

更多题解尽在 https://sugar.matrixlab.dev/algorithm 每日更新。 组队打卡&#xff0c;更多解法等你一起来参与哦&#xff01; LeetCode 100342. 最小元素和最大元素的最小平均值&#xff0c;难度简单。 排序 解题思路&#xff1a;排序后取每次取数组首尾节点&#xff0c;求…