箭头函数是es6中对于函数定义的简写形式,只是改变了写法,实际的概念和功能没有发生任何的变化,
你无需输入function和return,一些小括号、大括号以及分号也可以省略。
下边列出不同情况下的简写形式:
- 有一个参数形式:参数 => 返回表达式
//ES5
var selected= allJobs.filter( function(job){
returnjob.isSelected();
});
//ES6
var selected= allJobs.filter( job => job.isSelected() );
// ES5
var total=values.reduce (function(a,b){returna+b;}, 0);
// ES6
var total= values.reduce( (a,b)=>a+b , 0);
3. 箭头函数还可以包含一个块语句:(参数) => {函数体;return 返回表达式;}**
// ES5
$("#confetti-btn").click( function(event){
playTrumpet();
fireConfettiCannon();
});
// ES6
$("#confetti-btn").click(event=>{
playTrumpet();
fireConfettiCannon();
});
puppy => {} 这种写法是定义一个没有任何行为的箭头函数,返回值是undefined