Pet*_*tai 22 javascript anonymous-function
可能重复:
自动执行匿名JavaScript函数的括号位置?
有时我看到:
(function() { ... }());
Run Code Online (Sandbox Code Playgroud)
有时我看到:
(function() { ... })();
Run Code Online (Sandbox Code Playgroud)
这两种形式有区别吗?是否有任何令人信服的理由使用一种形式而不是另一种形式?
CMS*_*CMS 35
这两种形式没有实际区别,但从语法的角度来看,两者之间的区别在于分组算子 - 括号 - 将在第一个例子中保存CallExpression,包括FunctionExpression:
CallExpression
| |
FunctionExpression |
| |
V V
(function() { }());
^ ^
|--PrimaryExpression --|
在第二个例子中,我们首先得到一个整体CallExpression,它包含FunctionExpression:
PrimaryExpression
|
FunctionExpression
|
V
(function() { })();
^ ^
|-- CallExpression --|
| 归档时间: |
|
| 查看次数: |
3877 次 |
| 最近记录: |