js中的箭头函数

ES6标准新增了一种新的函数:Arrow Function(箭头函数)。

x => x * x

上面的箭头函数相当于:

function (x) {
    return x * x;
}

箭头函数相当于匿名函数,并且简化了函数定义。箭头函数有两种格式,一种像上面的,只包含一个表达式,连{ ... }return都省略掉了。还有一种可以包含多条语句,这时候就不能省略{ ... }return

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>js中的箭头函数</title>
	</head>
	<body>
		<script>
			// 普通函数
			function getSum(x,y){
				return x+y;
			}
			var sum1 = getSum(1,2);
			console.log(sum1);
			// 结果是3 
			
			// 箭头函数
			(a,b) => a+b;
			var fn = (a,b)=>a+b;
			console.log(fn(1,2));
			// 结果是3
			
			// 箭头函数相当于匿名函数,简化了函数定义;
			// 箭头函数有2种格式,1. x=>x*x  只包含一个表达式 省略了{...}和return   2.包含多条语句,不能省略{...}和return
			x => {
				if(x>5){
					return x-5;
				}else{
					return x;
				}
			}
			var fn2 = x => {
				if(x>5){
					return x-5;
				}else{
					return x;
				}
			};
			// 打印值是25
			console.log(fn2(30));
			
			// 若参数不是1个,那么就要用()括起来
			(x,y)=>{
				if(x>5&&x<10){
					return x+y;
				}else{
					return x-y;
				}
			}
			var fn3 = (x,y)=>{
				if(x>5&&x<10){
					return x+y;
				}else{
					return x-y;
				}
			};
			console.log(fn3(1,4));
			// ps如果是要返回一个对象,那么下面的做法是错误的
// 			x=>{
// 				"value":x
// 			}
			// 会报错 Uncaught SyntaxError: Unexpected token :
			//需要修改成如下
			x => ({
				"value":x
			})
			
		</script>
	</body>
</html>

 

 

箭头函数是ES6(ECMAScript 2015)引入的一种函数表达式的新写法,它提供了一种更简洁的函数书写方式。箭头函数的基本语法如下: ```javascript 参数列表 => { 函数体 } ``` 其,箭头(=>)前是参数列表,可以包含零个或多个参数;箭头后面是函数体,可以是一条语句或者是花括号内的多条语句。 箭头函数有几种不同的形式: 1. 如果参数只有一个,可以省略参数外的圆括号: ```javascript (参数) => { 函数体 } // 简写为 参数 => { 函数体 } ``` 2. 如果没有参数,使用空圆括号表示: ```javascript () => { 函数体 } ``` 3. 如果函数体只有一条返回语句,可以省略花括号和return关键字: ```javascript 参数 => 表达式 // 等同于 => { return 表达式; } ``` 4. 如果箭头函数不需要返回值,或者返回一个对象字面量,需要用圆括号包围对象字面量: ```javascript 参数 => ({ 属性名: 值 }) ``` 下面是一些具体的例子: ```javascript // 无参数的箭头函数 () => { return "Hello World"; } // 单个参数的箭头函数,可省略参数的圆括号 singleParam => { return singleParam; } // 多个参数的箭头函数 (param1, param2) => { return param1 + param2; } // 没有参数的箭头函数 () => { return { key: 'value' }; } // 单个表达式的箭头函数,自动返回表达式的结果 param => param * 2 // 使用箭头函数表示对象的方法(注意用圆括号包围对象字面量) const obj = { method: () => { console.log('Hello World'); } }; ``` 箭头函数有几个特点: - 箭头函数没有自己的`this`,它的`this`是词法级别的,继承自外围作用域。 - 箭头函数没有`arguments`对象,可使用剩余参数(...rest)来访问。 - 不能使用`new`关键字进行实例化,因为箭头函数没有自己的`this`,也就没有构造函数。 - 箭头函数不能作为`Generator`函数。 使用箭头函数时,可以根据函数体的复杂度和需要返回的表达式来选择合适的形式。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

xvzhengyang

感谢,励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值