Javascript don';我不知道为什么要使用匿名函数(自调用函数)
我不理解匿名函数(或自调用)的好处 因为如果您想操作DOM,您应该在页面加载完成后进行操作,您应该使用匿名函数的Javascript don';我不知道为什么要使用匿名函数(自调用函数),javascript,jquery,Javascript,Jquery,我不理解匿名函数(或自调用)的好处 因为如果您想操作DOM,您应该在页面加载完成后进行操作,您应该使用匿名函数的$document.ready()intead。 (因为操作DOM需要等待页面准备就绪) 如果您想在加载特定元素后立即执行某些操作, 您可以像这样在该元素之后编写脚本标记 <body> <div>foo</div> <div id="panel">bar</div> <script> $('#
$document.ready()
intead。
(因为操作DOM需要等待页面准备就绪)
如果您想在加载特定元素后立即执行某些操作,
您可以像这样在该元素之后编写脚本标记
<body>
<div>foo</div>
<div id="panel">bar</div>
<script>
$('#panel').css('background', 'red');
</script>
<div>some content</div>
</body>
福
酒吧
$('面板').css('背景','红色');
一些内容
那么什么是匿名函数的好处呢?请告诉我谢谢
我不理解匿名函数(或自调用)的好处,因为如果您想操作DOM,应该在页面加载完成后再操作,您应该使用匿名函数的$document.ready()intead。(因为操作DOM需要等待页面准备就绪)
如果您使用的是在DOM就绪时运行的回调,那么不需要再次创建作用域。这是多余的
然而,情况并非总是如此。有时人们不使用事件处理程序来运行初始化代码,所以他们可能会使用IIFE来防止全局变量空间的污染。如果您没有创建任何变量,就像您的简单示例中那样,那么就没有全局污染。您引用的是什么“匿名函数”?调用
.css()
?您的代码中没有函数。很抱歉,我将其编辑为所有变量都是私有的。了解有关范围的更多信息
“我不了解匿名函数(或自调用)的好处”,那么如果不需要,为什么要在代码中包含IIFE?全局变量空间在所有脚本之间共享。如果您在脚本中创建了一个全局变量,并且加载了另一个脚本,则它可能会覆盖您的变量。在旧版本的JS中,在函数内部是局部作用于变量的唯一方法。因此,将立即创建并执行一个函数,这样里面的任何var
声明都会留在里面,而不会变成全局声明。谢谢你让我开心了:)
<body>
<div>foo</div>
<div id="panel">bar</div>
<script>
$('#panel').css('background', 'red');
</script>
<div>some content</div>
</body>