普通函数 function(){}
箭头函数 ()=>{}
1、
例:
let arr=['a','b','c','d']
let arr1=arr.map((item)=>{return item+='e'})
=
let arr1=arr.map(item=>item+='e')
箭头函数会自动返回处理结果,是一种匿名函数,用完就扔
2、
箭头函数不是构造函数,因为箭头函数创建的时候不会为这个箭头函数创建[[Construct]]方法,因为不能用new关键字来调用箭头函数,因此也不需要构造函数原型了,也就是不会自动生成prototype属性
3、
函数内部有一个特殊的对象叫arguments,这个对象是一种类似数组的对象,但是箭头函数没有自己的arguments对象,毕竟匿名函数一般都是不用参数或者限定参数来执行
4、
箭头函数this值取决于普通外部函数里的this值,箭头函数不能通过call,apply和bind来改变this的值,但是依然可以调用