在github上查看代码时,我发现了以下内容:
(function() { }).call(this);
显然,这是一个自我调用的匿名函数。但是为什么这样写呢?我曾经看过规范的变体(function() {})()。
(function() {})()
使用.call(this)自调用匿名函数有什么特别的好处吗?
.call(this)
编辑:看起来像一些commonjs环境this在模块的顶层设置为非全局值。this您可能想要保留哪些内容,以及将它们设置为什么?
this
.call(this)(实际上只是()在更改之前),this通过严格的模式,--bare选项和/或运行环境(顶层this未指向全局对象)来确保顶层保持一致。
()
--bare