我在学习 Javascript 时看到如下一些代码片段,我对此不太确定,您能告诉我这个结构到底是做什么的,以及何时使用吗?
(function abc()
{
//action code here
})();
示例
(function test() {
alert(1);
})();
非常感谢。
您能做的最好的事情就是阅读这篇文章:
小引用:
匿名关闭
这是使这一切成为可能的基本构造,并且确实是 JavaScript 的最佳功能。我们将简单地创建一个匿名函数,并立即执行它。函数内运行的所有代码都位于闭包中,这在我们应用程序的整个生命周期中提供隐私和状态。
(function () {
// ... all vars and functions are in this scope only
// still maintains access to all globals
}());
但是真正阅读这篇文章并观察我们所拥有的,感谢其他人为我们描述了 JS 模式......
因为更重要的是 MODULE 模式
模块导出
有时您不仅想使用全局变量,还想声明它们。我们可以通过使用匿名函数的返回值导出它们来轻松地做到这一点。这样做将完成基本的模块模式,所以这是一个完整的示例:
var MODULE = (function () {
var my = {},
privateVariable = 1;
function privateMethod() {
// ...
}
my.moduleProperty = 1;
my.moduleMethod = function () {
// ...
};
return my;
}());