gpt4 book ai didi

javascript - 普通的 (function() { ... }) 到底是什么意思?

转载 作者:行者123 更新时间:2023-11-29 18:09:05 24 4
gpt4 key购买 nike

我看到一些设置下拉菜单等的 JavaScript 文件,它们将所有内容都包装在 (function() { ... }) 中。我想知道这与不将它们包装在匿名函数中有何不同。例如,如何

$('#someElement').click(alert("Hi!"));

在 JS 文件中任何不同于

(function() { 
$('#someElement').click(alert("Hi!"));
});

???

最佳答案

首先:我认为您忘记了参数括号(function(){})()——最后一个()-s。否则这将毫无意义,因为没有执行的匿名函数定义是没有意义的。

(function(){})() 是一个匿名函数,会立即执行。这为函数定义中的所有内容定义了一个匿名上下文(或 namespace )。

这样做的好处是,内部定义的函数和变量不会弄乱全局命名空间。内部定义的所有内容还具有完全访问内部所有变量的好处,同时对外部隐藏。具有此功能的构造称为闭包,这就是此构造也称为“匿名闭包”的原因。

关于javascript - 普通的 (function() { ... }) 到底是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29105268/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com