箭头函数的使用

一、复习函数

1、函数的定义

var  fn=function(){}
var obj={
    name:"zhou "
    say:function(){}
}

2、函数的声明(直接在写function)除开这种方式,其余全是函数的定义

function  fn(){}

箭头函数

var fn=(a,b)=>{
    return  a+b;

}
var re= fn(10,20);
console.log(re);//30

1、函数与this的连用

    var fn=(a,b)=>{
   
        console.log(this ,1111);
        return  a+b;
}
    // var re= fn(10,20);
    var obj={
        name:"zhou",
        fn
    }
    obj.fn(10,20);
结果是window

原因:this是离他最近的嵌套function/方法这个函数的调用者,直到顶层没有就是window

和普通的函数有一个区别就是要多一层函数|function

var obj={
        name:"zhou",
        say:function(){
            var fn=(a)=>{
                console.log(this,111);
            }
            fn(10)
        }
    }
    obj.say();//obj

2、可以省略(不是很建议)

如果箭头函数只有一个参数体可以省略小括号,代码块只有return可以省略{}

var fn= a=>a*10
console.log(fn(3));//30
即:
var fn= (a)=>{
    return a*10
}
console.log(fn(3));//30

2、不能创作对象

原因:因为this不是箭头函数的调用者,用this添加的成员会变成window的成员,而不是对象的成员

3、当实参比形参多,不能用arguments,我们可以用以下这个方法

var fn=(a,...x)=>{
    console.log(a,x)
}
   fn(10,20,30);

结果:

 解释:当实参比形参多,可以用...x(名字随便取)来装多的实参,但是是以数组的形式,如果实参和形参一样那就是空数组,而不是undefined,剩余参数必放在...x里面

使用的场景

ES6 之前,JavaScript 的 this 对象一直很令人头大,回调函数,经常看到 var self = this 这样的代码,为了将外部 this 传递到回调函数中,那么有了箭头函数,就不需要这样做了,直接使用 this 就行。

所以,当我们需要维护一个 this 上下文的时候,就可以使用箭头函数。

总结:

  • 要有个箭头

  • 箭头的前面是小括号,放形参,只有一个形参的时候可以省略小括号;

  • 箭头的后面是函数体;

  • 如果函数体只有一个语句,没有{},此时的返回值不需要return;

  • 箭头函数里面的this总是指向最靠近的function 内部的this;

  • 对象里面的方法,尽可能不要使用箭头函数;

  • 箭头函数里面没有arguments,可以使用…reset,接收过来就是数组类型,接收的是形参之外的所有的实参;

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值