不知道为什么要使用匿名函数(自调用函数)

时间:2017-09-24 16:37:07

标签: javascript jquery

我不明白匿名函数(或自我调用)的好处

(function () {
      $('#panel').css('background', 'red'); // I will invoke myself
})();

因为如果你想操纵DOM,你应该在页面加载完成之后执行它,你应该使用$document.ready() intead of anonymous function。 (因为操作DOM需要等到该页面准备就绪)

如果您想在加载特定元素后立即执行某些操作, 你可以在这个元素之后编写脚本标签

<body>
<div>foo</div>
<div id="panel">bar</div>
    <script>
       $('#panel').css('background', 'red');
    </script>
<div>some content</div>
</body>

那么什么是匿名功能的好处呢?请告诉我谢谢。

1 个答案:

答案 0 :(得分:0)

  

我不明白匿名函数(或自调用)的好处,因为如果你想操纵DOM,你应该在页面加载完成之后执行它,你应该使用$ document.ready()intead of anonymous function。 (因为操作DOM需要等到该页面准备就绪)

如果您正在使用在DOM准备就绪时运行的回调,那么不,您不需要创建另一个范围。这将是多余的。

然而,并非总是如此。有时人们不使用事件处理程序来运行他们的初始化代码,因此他们可能会使用IIFE来防止污染全局变量空间。如果您没有创建任何变量,就像在您的简单示例中那样,则没有全局污染。