普通函数中的this:
- this总是代表它的直接调用者, 例如 obj.func , 那么func中的this就是obj
- 在默认情况,没找到直接调用者, 则this指的是 window
- 在严格模式下,没有直接调用者的函数中的this是 undefined
- 使用call,apply, bind(ES5新增)绑定的, this指的是 绑定的对象
箭头函数中的this:
- 默认指向在定义时作用域, 它所处的对象,而不是执行时的对象, 定义它的时候,可能环境是window(即继承父级的this)
其他区别:
- 箭头函数不能当作构造函数,也就是说,不能使用new命令,否则会报错
- 箭头函数不能使用argumen对象,该对象在函数体内不存在。如果要用,可以用rest参数代替