Bootstrap函数声明

9
我正在查看Bootstrap JS源代码,并发现了一些以前从未见过的东西:
+function ($) { "use strict";
//...
}(window.jQuery);

“+”符号放在函数声明前面有什么用?是为了减少一些潜在的缩小问题吗?
我认为,在表达式类型前面放置“+”会将表达式的结果转换为数字,但我不知道这在这里有什么相关性。
谢谢任何能为我解答此问题的人。
1个回答

9

这是为了将函数声明转换为函数表达式,以便可以立即执行。

通常可以通过在函数声明周围加上括号来实现:

(function ($) { "use strict";
//...
}(window.jQuery));

或者:

(function ($) { "use strict";
//...
})(window.jQuery);

有趣的是,所以+基本上“评估”其后面的代码,将其转换为表达式?此外,我假设在函数声明之前使用+或在其周围放置括号(函数声明)之间没有区别? - Adam Jenkins
@Adam:是的,在这两种情况下,都只是为了避免语法成为常规函数定义,并且在这两种情况下,整个表达式的结果(即函数的返回值)都被忽略了。 - Guffa

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接