ES6中的临时函数(箭头函数,arrow function)用起来很简洁、方便。临时函数跟普通函数基本相同,但关于this指向的问题还是有所不同,需要引起注意。


参考以下看法:

“=>箭头函数并不绑定 this,arguments,super(ES6),抑或 new.target(ES6)。对于上述的四个(未来可能有更多)地方,箭头函数不会绑定那些局部变量,所有涉及它们的引用,都会沿袭向上查找外层作用域链的方案来处理。”


所以箭头函数的this总是指向最近的作用域链,也就是代码级,而不能做到运行期绑定。所以你想对箭头函数apply和call试图改变函数的this指向的时候,哼哼,做不到。