this 是一个关键字。和变量不同,关键字 this 没有作用域限制,如果嵌套函数作为方法调用,其 this 的值指向调用它的对象,如果嵌套函数作为函数调用,其 this 的值是全局对象(非严格模式)或者 undefined(严格模式)。
如果希望在嵌套函数中调用外层函数的上下文,需要将外层函数的 this 值保存到一个变量(例如self、context或者_this)里,这个变量和内部函数都在同一个作用域里。