如何利用闭包在非严格模式下有效捕获并利用 this 关键字避免全局污染?
- 内容介绍
- 相关推荐
本文共计778个文字,预计阅读时间需要4分钟。
在非严格模式下,在嵌套函数中直接使用 `this` 会导致其失去对上层对象上下文的引用,自动绑定到全局对象(如 `window`)。这会导致意外的属性读写。封装本身不捕获 `this`,但可以通过变量保存 `this` 的值,然后在内部函数中通过作用域链访问。这是最常用、最可靠的做法。
本文共计778个文字,预计阅读时间需要4分钟。
在非严格模式下,在嵌套函数中直接使用 `this` 会导致其失去对上层对象上下文的引用,自动绑定到全局对象(如 `window`)。这会导致意外的属性读写。封装本身不捕获 `this`,但可以通过变量保存 `this` 的值,然后在内部函数中通过作用域链访问。这是最常用、最可靠的做法。

