【发布时间】:2015-04-26 02:26:57
【问题描述】:
我刚刚查看了underscore.js source code,当我将源代码剥离到包含 IIFE 的裸露时,它看起来像这样:
(function() {
}.call(this));
我一直使用带外括号(function() {}).call(this); 的语法,想知道这种语法是否也有效且常见?
【问题讨论】:
-
是的,这个语法是正确的:)
-
为什么外括号会出错?
-
@FrédéricHamidi 我期待需要外部括号,因此可以将匿名函数视为表达式,例如
(function() {}).call(this)或+function() {}.call(this)。但是为什么(function() {}.call(this))执行而function() {}.call(this)不执行呢? -
查看副本,了解此构造的作用。如果您只是在寻找括号语法,请参阅Location of parenthesis for auto-executing anonymous JavaScript functions?
标签: javascript syntax underscore.js