1、箭头函数是匿名函数,不能作为构造函数使用,能使用new创建自己的实例
// 箭头函数 let arrowFun = () => console.log('kelly') let arrow_fun = new arrowFun() // 报错: Fun is not a constructor // 普通函数 function normalFun() { console.log('kk') } let normal = new normalFun() normal // kk
2、普通函数的所有参数可用arguments表示,箭头函数不行;
3、箭头函数没有自己的this值,会捕获上下文的this作为自己的this
4、箭头函数通过call( ) 或者是 apply( ) 都无法改变其this指向
5、箭头函数没有原型,普通函数有
var a = () => { return 1 } function b() { return 2 } console.log(a.prototype) // undefined console.log(b.prototype) // {constructor: ƒ}