Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么要将Angular应用程序包装在函数中?_Javascript_Angularjs - Fatal编程技术网

Javascript 为什么要将Angular应用程序包装在函数中?

Javascript 为什么要将Angular应用程序包装在函数中?,javascript,angularjs,Javascript,Angularjs,我正在学习Angular,在我使用的所有资源中,我在app.js文件中看到了这一点: (function () { \\\myAngularModules })(); 最常见的解释是无用的“这只是良好的实践” 问题: 在函数中包装我们的Angular JS代码真的是一种很好的实践吗?为什么? 它是什么样的功能?它做什么 请尽可能举例说明 在函数中包装我们的Angular JS代码真的是一种很好的实践吗? 为什么? 这是一个很好的实践,称为模块模式。作为一种模式,它

我正在学习Angular,在我使用的所有资源中,我在
app.js
文件中看到了这一点:

(function () {

       \\\myAngularModules      

})();
最常见的解释是无用的“这只是良好的实践”

问题:

  • 在函数中包装我们的Angular JS代码真的是一种很好的实践吗?为什么?
  • 它是什么样的功能?它做什么
  • 请尽可能举例说明

    在函数中包装我们的Angular JS代码真的是一种很好的实践吗? 为什么?

    这是一个很好的实践,称为模块模式。作为一种模式,它有优点也有缺点。然而,它是JS世界中使用最多的模式之一。简单地说,它允许您根据需要声明变量、函数等,而不会与应用程序中使用的任何js代码发生冲突

    有关上述内容的更多信息,请查看

    它是什么样的功能?它做什么


    这是一个经典函数。不多不少。最后,我们使用调用操作符
    ()
    ,调用要执行的函数。后者也称为立即调用匿名函数(IIFE)。

    这就是所谓的立即调用匿名函数(IIFE)。它允许我们创建一个新的函数作用域并立即运行代码,这样就不会有我们创建的变量或其他项“泄漏”并操纵全局作用域

    将您的代码泄漏到global可能会影响其他模块或第三方代码。这也有助于保护您的代码,让您思考您正在使用的哪些对象没有在本地范围内声明


    作为一个更详细的解释,它涵盖了其他一些深奥的概念,如缩小优势。

    这是因为,如果使用第三方服务,您的变量不会与全局变量发生冲突,等等。请看这里的解释,为什么不解释就进行向下投票?下行投票者请。@AlexanderKobelev这是一篇优秀的文章,谢谢。@BhojendraNepal感谢您的输入。谢谢,我不接受您的回答,只是因为我不太喜欢您的链接;)