我正在处理一些代码,其中给定页面有许多与之关联的 .js 文件(像库一样使用它们)。每个 .js 文件在内部如下所示:
(function() {
.... all the lib functions and objects ....
})();
经过一番播放,我看到格式为(function() {...})(); 的函数;被自动调用。如果我剥离外部括号以具有function() {...}则代码无效。如果我添加一个函数名,那么代码是有效的,但在调用function foo() { ... }之前不会运行。
以这种方式编写lib是否有特殊原因?我猜它会封装变量名等。允许它在页面加载时自动运行的语法是什么?