ES6中的箭头函数

6.2箭头函数

【1】定义:对绝大多数匿名函数的简写

【2】为什么:反复写function来定义函数很繁琐

【3】何时使用:几乎所有匿名函数都可以用箭头函数简化

【4】如何使用:3句话 步骤

​ i:去掉function,在()和{}之间加=>

​ ii:如果只有一个形参,则可以省略()

​ iii:如果函数体只有一句话,则可以省略{},如果函数体仅剩的一句话还是return,则必须去掉return

【5】示例:

//     function add(a,b){
//       return a+b;
//     }
// 修改为箭头函数
    var add=(a,b)=>a+b;
    console.log(add(3,5));//8

    
    var arr=["小明","小红","小东"];
//     arr.forEach(function(elem){
//       console.log(`${elem} - 到!`)
//     })
// 修改为箭头函数
    arr.forEach(elem=>console.log(`${elem} - 到!`))

    var arr=[1,2,3,4,5];
//     var sum=arr.reduce(function(box,elem){
//       return box+elem;
//     },0)
// 修改为箭头函数
    var sum=arr.reduce((box,elem)=>box+elem,0) 
    console.log(sum);
6.2.1箭头函数与this

【1】箭头函数的功能:箭头函数可以让函数内的this与函数外的this保持一致!

【2】使用箭头函数的情况

​ i:如果函数中①不包含this,或②希望函数内的this与外部this保持一致时,就可以修改为箭头函数

​ ii:如果不希望函数内的this与函数外的this保持一致,就不能修改为箭头函数

比如:对象中的方法就不能改为箭头函数

​ 如何解决:ES6中为对象的方法定义提供了一种专门的不带function的简写

 var 对象名={
         属性名: 属性值, 
     //解决办法
         方法名(){ ...  this.属性名 ... }
       }
//强调: 既不带:function,又不要加=>。
//好处: 既省略了function,但是又不等同于箭头函数,不会影响内部的this!

【3】示例

        /*
        var lilei={
            sname:"li lei",
            friends:["mj","yq","yk"],
            intr:function(){
                // 这个this指向调用intr函数的对象,可以得到对象lilei
                this.friends.forEach(
                    function(n){
                        //this不能够获取想要的值,因为两个function生成了两个实体墙,this无法穿过
                        console.log(`${this.sname}的朋友们是${n}`)
                    }
                )
            }
        }
        */
        var spp={
            sname:"spp",
            friends:["hh","mm","yy","xy","zz"],
            // intr:function(){
                // es6中为对象的方法提供了不带function的简写↓
            intr(){
                this.friends.forEach(n=>{
                        console.log(`${this.sname}的朋友们是${n}`)
                    }
               )
            }
        }
        spp.intr()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值