小编典典

此自调用匿名函数变体背后的原因

javascript

在github上查看代码时,我发现了以下内容:

(function() {

}).call(this);

显然,这是一个自我调用的匿名函数。但是为什么这样写呢?我曾经看过规范的变体(function() {})()

使用.call(this)自调用匿名函数有什么特别的好处吗?


编辑:看起来像一些commonjs环境this在模块的顶层设置为非全局值。this您可能想要保留哪些内容,以及将它们设置为什么?


阅读 268

收藏
2020-05-01

共1个答案

小编典典

.call(this)(实际上只是()在更改之前),this通过严格的模式,--bare选项和/或运行环境(顶层this未指向全局对象)来确保顶层保持一致。

2020-05-01