18.JavaScript Lambda表达式、箭头函数的简单用法

本文介绍了JavaScript中的Lambda表达式,也称为箭头函数。Lambda表达式以其简洁的语法在创建匿名函数时非常方便。文章详细阐述了其语法、用法,包括单个参数、无参数、多行代码的函数体以及在回调中的应用。通过实例展示了如何使用Lambda表达式进行数学运算和在回调函数中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

lambda 表达式

系列目录

《JavaScript形态》中,我们详细的对比了函数表达式和函数声明的区别和联系,本节将介绍一种非常简单、有用的函数定义方法:lambda表达式,或者更为简单粗暴的名称箭头函数

语法

之所以lambda表达式又被称为“箭头函数”,是因为它的语法是这样的:

let func = (arg1,arg2,...,argN) => { expression; }

可能首次接触lambda表达式的童鞋会非常奇怪,不能理解,实际上非常简单,它其实就是以下代码的简写:

let func = function(arg1,arg2,...,argN){
	return expression;
}

区别在于函数表达式需要用到function关键词,而lambda表达式省略了这个关键字,转而在参数列表和函数体之间添加了一个=>,这也是箭头函数的来源。

举个实际的例子:

let add = (a,b) => a+b;
//以上表达式等价于
/*
let add = function(a,b){
	return a+b;
}
*/

(a,b) => a+b表示创建一个函数,接收ab两个参数,并返回二者的和。
这里省略了函数定义关键字functionreturn

用法

lambda在编程过程中非常的常用,由于它语法简单,在创建匿名函数的时候非常便捷。

lambda有多种不同的定义方法:

单个参数可以省略参数列表的括号

对于只有一个参数的函数,使用lambda定义时,可以省略小括号,举例如下:

let bol = x => !!x; //将变量x转为Boolean类型

//等价于
/* 
let bol = (x) => !!x;
*/

没有参数需要使用空括号

没有参数的表达式,需要使用空括号,但是不能使用,举例如下:

let hello_world = () => console.log('hello world');

多行代码的函数体

以上案例都是只有一行代码的函数,如果我们需要在函数体中写入多行代码,就需要为函数体加上{}同时使用return返回计算结果。

举个例子:

let add = () => {
	let n1 = prompt('其输入一个整数',0);
	let n2 = prompt('请输入一个整数',0);
	return +n1 + +n2;//计算两个输入值的和
}
console.log(add());

在回调中使用lambda表达式

lambda表达式最常用的地方莫过于回调了,我们经常可以在JavaScript代码中看到这种用法。

举个例子:

function calculate(a,b,func){
	return func(a,b); //使用回调函数
}

//使用lambda传入一个函数用于回调
calculate(1,2,(a,b)=>a+b); //3
calculate(1,2,(a,b)=>a*b); //2

本文仅介绍了lambda的常规用法,更高级的用法将在后面的《lambda进阶》中详细介绍。

评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

@魏大大

我们都没有打赏的习惯

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值