箭头函数

基本用法:

在es6中,允许使用“箭头”(=>)定义函数。

var s=name=>name;

//等同于
var s=function (name){
        return  name;
    };

1、若函数没有参数可以省略小括号,函数体一句代码

let fn=()=>'hello';
console.log(fn());
 let fn2=age=>age;
 console.log(fn2(30));//输出30

2、无参数,函数体有多句指令

        let fn3=()=>{
            console.log('hello');
            console.log('你好');
        }
        fn3();

3、有参数,参数有一个(可以省略小括号)

     let fn33=sName=>{
            console.log(sName);
        }

    fn33('小明');

4、有参,多个参数不能省略小括号

     let fn44=(name,age)=>{
            console.log(name,age);
        }
        fn44('小刚',18);

5、带有返回值,只有一条语句(可以省略大括号和return关键字)

let fn55=(name,age)=>age;

console.log('小白',20);

6、带有一条语句,并不返回语句,也可以省略

let fn6=age={
    console.log(age);
}
//以上可以简化为:
let fn6=age=>void console.log(age);
console.log(18);

特殊情况:一句语句,返回值  ( )

let fn7=function(name,age){
    return{
        sName:name,
        sAge:age
    };
}
//以上简化为:
let fn7=(name,age)=>({sName:name,sAge:age});
console.log(fn7('张三',18));

使用注意点

箭头函数有几个使用注意点。

(1)函数体内的this对象,就是定义时所在的对象,而不是使用时所在的对象。

(2)不可以当作构造函数,也就是说,不可以使用new命令,否则会抛出一个错误。

(3)不可以使用arguments对象,该对象在函数体内不存在。如果要用,可以用 rest 参数代替。

(4)不可以使用yield命令,因此箭头函数不能用作 Generator 函数。

上面四点中,第一点尤其值得注意。this对象的指向是可变的,但是在箭头函数中,它是固定的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值