FOSS基于网络的应用程序中包含以下代码段:
<script type="text/javascript">
(function() {
// code follows
// ...
})();
</script>
如您所见,函数定义被一对额外的括号包围,后面还有另一对括号。应用程序中没有使用jQuery或任何其他JS框架。稍后在脚本中不会引用/调用该函数。
问题:这些字符(
(javascript代码的第一个字符和)();
(js代码的最后四个字符)会导致什么?(更重要的是)为什么?
提前感谢您的解释。
PS:英语不是我的第一语言,请加以考虑。
答案 0 :(得分:0)
这称为闭包。它是一个自执行函数,它意味着您可以根据需要定义任意数量的变量,而不会污染窗口命名空间。