写法不同

1
2
3
4
5
6
7
8
9
//普通函数
function hello() {
console.log('hello')
}

//箭头函数
()=>{
console.log('hello')
}

箭头函数全都是匿名函数

普通函数可以有匿名函数,也可以有具名函数

箭头函数和普通函数的this指向不同

普通函数的this指向的是谁调用该函数就指向谁

箭头函数的this指向的是在你书写代码时候的上下文环境对象的this,如果没有上下文环境对象,那么就指向最外层对象window。

箭头函数不能作为构造函数使用

由于箭头函数没有自己的this,且this指向外层的执行环境,且不能改变指向,所以不能当做构造函数使用。

箭头函数没有自己的arguments

箭头函数没有自己的arguments对象。在箭头函数中访问arguments实际上获得的是它外层函数的arguments值。

箭头函数不具有 prototype 原型对象

箭头函数不具有 super

箭头函数不具有 new.target