一 箭头函数
this 指向的是箭头函数定义位置的上下文this (外层函数this指向哪个对象 箭头函数中的this也指向哪个对象)
在箭头函数内 只有一个参数时 可以省略小括号 函数体中只有一句代码,且代码的执行结果就是返回值,可以省略大括号、return
写法
二 箭头函数与普通函数的区别:
1.箭头函数比普通函数更简洁
2.箭头函数没有自己的this 指向是静态的
3.普通函数 this指向执行上下文 指向是动态的
4.箭头函数没有自己的 arguments 而普通函数有
5.箭头函数不能和new搭配使用没有prototype属性 而普通函数可以和new搭配使用
三 箭头函数的优缺点:
箭头函数是匿名函数,ES5匿名函数的语法糖,并且没有自己的this,arguments,super或 new.target。
它的优点是:
(1)简洁的语法、
(2)隐士返回,如 下面的代码可以去掉return,代码移到一行,减少代码量numbers.map((number)=>number*2)
(3)解决了this的指向问题,原生的写法this指向的是调用者,箭头函数this绑定的是定义时的那个对象。如果有对象嵌套的情况,则this绑定到最近的一层对象上
它的缺点是:
(1)做为构造函数的时候不能使用箭头函数
(2)真正需要this的时候如给元素绑定click事件的 时候,执行的回调函数不能使用箭头函数。
(3)我们需要使用arguments对象的时候不能使箭头函数。箭头函数中没有arguments对象。