我了解自动执行匿名组织。通常我们将它们创建为
(function(){ return 1;})()
原因 - 如果我们使用解析器功能则无法运行
function(){ return 1}()
但是今天我发现下一个代码也可以工作(检查括号顺序)
(function(){ return 1;}())
function(){ return 1; }()
仍然给我 SyntaxError,因为它应该
请解释一下为什么?谢谢引用以获取更多详细信息
附注问题是关于(function(){ return 1;}())
变体!
最佳答案
(function() {})()
和
(function() {}())
是等价的。
要调用第二个示例,您可以在函数之前包含 +
运算符
+function(){ return 1 }()
关于javascript - 为什么自动执行匿名会有效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37256619/