关于定时器中this的指向问题
解决方法一
将当前对象的this存为一个变量,通俗讲就是在方法内重新定义一个参数,将this指向这个参数。
实例:
解决方法二
bind()方法是在Function.prototype上的一个方法,当被绑定函数执行时,bind方法会创建一个新函数,并将第一个参数作为新函数运行时的this。在这个例子中,在调用setTimeout中的函数时,bind方法创建了一个新的函数,并将this传进新的函数,执行的结果也就是正确的了
解决方法三
箭头函数完全修复了this的指向,this总是指向词法作用域,也就是外层调用者obj,
节选自 Little Zhang https://www.cnblogs.com/zsqos/p/6188835.html