箭头函数

箭头函数( => )

箭头函数不需要参数或需要很多参数

var sum = (num1, num2) => num1 + num2;
// 等同于
var sum = function(num1, num2) {
  return num1 + num2;
};

//传入num1, num2 返回num1 + num2

如果箭头函数代码块出来一块,需要用大括号将他们括起来,并且用return语句返回

如果箭头函数只有一条语句,且不需要返回值,可以直接使用以下写法

let fn = () => void deosNotReturn;

使用箭头函数的主要点

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

2.不能当做构造函数,不可以用new命令

第一点及其重要(this对象的指定是可变的,但在箭头函数中是固定的),例如

function foo(){
    setTimeout(() =>{
        console.log('id', this.id);}
            , 100);
}
var id = 21;

foo.call({id:42});

如果普通函数应该使用this时应该指向全局变量window,输出值应该是21。箭头函数中this总是指向函数定义生效时所在的对象。

实际上箭头函数中并没有自己的this,导致内部的this就是外层代码的this。 除了this之外,arguments, super,new.target也不存在在箭头函数中,都是指向外层函数的对应变量。


嵌套的箭头函数

箭头函数的内部还能嵌套箭头函数

posted @ 2020-02-21 18:25  可爱又迷人的正派角色  阅读(89)  评论(0)    收藏  举报