ES6(3)—— 箭头函数

一、正常的函数的写法:

function 名字(){
    
}

二、箭头函数的写法:

() => {
     
}
  • 如果只有一个参数,则圆括号可以省略
let show = (a) =>{
   console.log(a);
};
let show = a =>{
    console.log(a);
};

以上的两种写法是完全相同的。

  • 如果函数里面只有一个return,则花括号连带return关键字一起省略:以下这两个函数的功能完全相同。但是如果箭头函数直接返回一个对象,必须在对象外面加上括号:
let show = function(a){
    return 2*a;
};
let show = a => 2*a;
var getTempItem = id => ({id:id,name:"Temp"});

三、看如下例子:这两个函数的功能是一样的

window.onload = function(){
    console.log("abc");
}
window.onload = () => {
    console.log("abc");
}
//去掉function,再原来function的后面的圆括号的后面加上 =>

四、箭头函数传参:

let show = (a,b) => {
    console.log(a+b);
};
show(1,2);

此例子的输出函数结果为3。

再看如下例子,我们知道sort不给参数排序会按照字符串的来进行排序:

var arr = [12,5,8,7,34,90];
arr.sort();
console.log(arr);

此时的排序结果为:12,34,5,7,8,90。那么我们怎么做呢?

方法一(之前的做法):

var arr = [12,5,8,7,34,90];
arr.sort(function(n1,n2){
    return n1-n2;
});
console.log(arr);

方法二(ES6的做法):

var arr = [12,5,8,7,34,90];
arr.sort((n1,n2) =>{
    return n1-n2;
});
console.log(arr);

五、箭头函数需要注意以下几项:

  • 函数体内的this对象就是定义时所在的对象,而不是使用时所在的对象。在箭头函数中this是固定的,不是可变的。
  • 不可以当作构造函数。也就是说,不可以使用new命令,否则会抛出一个错误
  • 不可以使用argunemts对象,,该对象在函数体内不存在。如果用,可以使用rest参数代替
  • 不可以使用yield命令,因此箭头函数不能用作Generator函数。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值