es6允许使用"箭头"(=>)定义函数。
1.根据参数的不同分几种情况:
()=> //没有参数的时候
x=> //只有一个参数的时候
(x,y)=> //有多个参数的时候
2.大括号{}被解释为代码块,如果箭头函数的代码块部分多于一条语句,就要使用{}将他们阔起来,用return语句返回。
var add = (num1,num2)=>{ var sum; if(num1 ==15){ sum = num1 +num2; } else{ sum = 20; } return sum; } console.log(add(15,15)); //30
当然,=>后面也不一定非得接return之后的语句
$("#btn-ok").on("click",()=>{ bindEvent(); fn(); }); function bindEvent() { /***绑定onbeforeunload事件****/ window.onbeforeunload = function() { return "确定离开页面吗?"; } } function fn() { console.log("yes"); }
注意:多行语句要用{}括起来,单行语句不用,并且会作为函数的返回值。
var sum = (num1,num2) =>num1+num2; console.log(sum(9,9)); //18
♥ x=>x*x; ♥ x=>{return x*x} ♥ x=>return x*x //报错,不能省略{} ♥ x=>x*x; //合法的,没有定义返回值,返回undefined
箭头函数返回一个对象,必须在对象外面加上一个(),否则会报错
let getTempItem = id => ({ id: id, name: "Temp" });
箭头函数可以与变量结合使用
const full = ({ first, last }) => first + ' ' + last; // 等同于 function full(person) { return person.first + ' ' + person.last; }