1. this 的指向不同: 箭头函数this指向是由上下文作用域决定的,普通函数的this是在执行的时候指向调用它的对象
  2. 构造函数

普通函数:可以作为构造函数来使用,用new去新建对象实例。

箭头函数:不能作为构造函数,会报错。

为什么箭头函数不能用作构造函数? 箭头函数本身是存在原型链的,它也有自己的构造函数,但原型链到箭头函数这一环就断了,因为它没有 prototype 属性,没办法连接它的实例的原型链,所以箭头函数就无法作为构造函数。

  1. arguments 对象 普通函数:普通函数内部,arguments为特殊的类数组对象。包含了函数被调用时的参数列表。

箭头函数:箭头函数内部是没有arguments对象,依赖于外部非箭头函数。 如果箭头函数想要拿到全部参数,也可以通过 展开运算符获取全部参数。

  1. 普通函数是可以匿名,也可以署名的。但是箭头函数都是匿名的
上次更新:
贡献者: 郑壮