箭头函数

2,870 阅读1分钟

1.定义一个函数

之前定义函数的方式:

let fn = function(){}

现在定义函数的方式:

let fn =()=>{}

小括号里面写形参,花括号里面写函数体

2.箭头函数构造的函数,this始终是指向函数声明时所在作用域下的this

function getName(){

            console.log(this.name);

        }

        let getName2=()=>{

            console.log(this.name);

        }

//设置window 对象的name属性

        window.name='高中';

        const school = {

            name:'XXX中学'

        }

getName.call(school);

getName2.call(school);

Image.png getName2的this依旧指向块级作用域里面的this,即window

3.不能作为构造实例化对象

let Person = (name,age)=>{

            this.name=name;

            this.age=age;

        }

        let me =new Person('xiao',30);

        console.log(me);//报错

4.不能使用arguments变量

let fn=()=>{

            console.log(arguments);

        }

        fn(1,2,3);

5.箭头函数的简写

1)省略小括号,当形参有且只有一个的时候

let add = n=>{

            return n + n;

        }

        console.log(add(9));

2)省略花括号,当代码体只有一条语句的时候(return也省略)

let pow =(n)=>n*n;

        console.log(pow(9));

Image.png