gpt4 book ai didi

javascript - 自动执行匿名 JavaScript 函数的括号位置?

转载 作者:行者123 更新时间:2023-11-28 06:46:18 25 4
gpt4 key购买 nike

我最近正在比较 json2.js 的当前版本与我项目中的版本相比,我注意到函数表达式的创建和 self 执行方式有所不同。

用于将匿名函数括在括号中然后执行它的代码,

(function () {
// code here
})();

但现在它将自动执行的函数括在括号中。

(function () {
// code here
}());

已接受的答案Explain JavaScript’s encapsulated anonymous function syntax中有一条CMS的评论“(function(){})();(function(){}()); 都是有效的。”

我想知道有什么区别?前者是否会通过留下全局匿名函数来占用内存?括号应该放在哪里?

最佳答案

它们实际上是相同的。

第一个将函数括在括号中,使其成为有效的表达式并调用它。表达式的结果未定义。

第二个执行函数,自动调用周围的括号使其成为有效的表达式。它还评估为未定义。

我认为没有“正确”的方法,因为表达式的结果是相同的。

> function(){}()
SyntaxError: Unexpected token (
> (function(){})()
undefined
> (function(){return 'foo'})()
"foo"
> (function(){ return 'foo'}())
"foo"

关于javascript - 自动执行匿名 JavaScript 函数的括号位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33391320/

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