gpt4 book ai didi

javascript - (function() {...}()); 之间有区别吗?和 (函数() {...})();?

转载 作者:行者123 更新时间:2023-12-03 02:42:30 25 4
gpt4 key购买 nike

Possible Duplicate:
Location of parenthesis for auto-executing anonymous JavaScript functions?

有时我会看到:

(function() { ... }()); 

有时我会看到:

(function() { ... })(); 

我看到带参数和不带参数的两种形式。他们both execute 匿名函数。

这两种形式有区别吗?是否有任何令人信服的理由来使用一种形式而不是另一种形式?

最佳答案

这两种形式没有实际区别,但从语法的 Angular 来看,两者之间的区别在于 The Grouping Operator - 括号 - 在第一个示例中将包含 CallExpression ,其中包括 FunctionExpression :

               CallExpression                |         |       FunctionExpression |                |         |                V         V    (function() {       }());    ^                      ^    |--PrimaryExpression --|

在第二个示例中,我们首先有一个完整的 CallExpression,其中包含 FunctionExpression:

          PrimaryExpression                |         FunctionExpression                |                V    (function() {       })();    ^                      ^    |--  CallExpression  --|

关于javascript - (function() {...}()); 之间有区别吗?和 (函数() {...})();?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3783007/

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