【发布时间】:2011-11-27 01:30:45
【问题描述】:
我长期以来一直使用以下 JavaScript 中的自执行匿名函数:
(function () { /* magic happens */ })()
最近,我开始看到更多以下模式的实例(例如,在 Bootstrap 中):
!function () { /* presumably the same magic happens */ }()
有人知道第二种模式的优势是什么吗?或者,它只是一种风格偏好?
【问题讨论】:
-
看这篇文章,它解释了两者之间的区别:stackoverflow.com/questions/3755606/…
-
它们是为此目的(强制在 表达式上下文 中评估函数,立即调用它而忽略其返回值)等效,但恕我直言,我 感觉 i> 使用Grouping Operator(括号)更“语义正确”(可能也更常见和可读),因为这是此运算符的目的,评估表达式...只是我的两分钱...干杯!
-
我觉得很遗憾这个问题作为副本被关闭了 - 这个问题及其所有答案都比副本中的任何内容都要好。
标签: javascript design-patterns iife