最初接触 箭头函数 => 是在C# 中的Lambda表达式, Lambda表达式作为CLR4 中新引入的语法糖 本质上就是个匿名函数, 整个Lambda表达式也可以看成是一个委托类型
在Javascript 中 如果要实现一个匿名函数, 大部分情况下是这么做的
$("#save-btn").click(function (event) {
.......
});
ES6 中引入了一种新的编写匿名函数的语法,他的写法非常简单:
标识符=>表达式
function,return 关键词, 以及一些大括号小括号统统可以省略,上述例子在ES6 中就可以这么写:
$("#save-btn").click(event=>{
.......
});
基本语法:
( ) => { … } // 零个参数用 () 表示;
x => { … } // 一个参数可以省略 ();
(x, y) => { … } // 多参数不能省略 ();
但是需要注意的是,多行语句需要用{}括起来,单行表达式不需要{},并且会作为函数返回值。
x => {returnx * x };// 函数返回 x * x
x => x * x;// 同上一行
x =>returnx * x;// SyntaxError 报错,不能省略 {}
x => { x * x };// 合法,没有定义返回值,返回 undefined
箭头函数也可以使用剩余参数和默认参数。
var func1=(x =1, y =2)=>x + y;func1();//得到3
var func2=(x, ...args)=>{console.log(args) };
func2(1,2,3);//输出 [2,3]
网友评论