21
|
Peter Ajtai · 技术社区 · 14 年前 |
![]() |
1
33
这两种形式没有实际区别,而是
文法的
两者的区别在于
The Grouping Operator
-括号-将在第一个示例a中保留
CallExpression | | FunctionExpression | | | V V (function() { }()); ^ ^ |--PrimaryExpression --|
在第二个例子中,我们首先有一个整体
PrimaryExpression | FunctionExpression | V (function() { })(); ^ ^ |-- CallExpression --| |
![]() |
2
5
就编译器而言,两者没有区别。但是,会发现
|
![]() |
3
2
就差异而言,它实际上只是句法上的糖分。相当于:“您喜欢jquery()还是$()?”两者都可以编译、执行和交替使用(afaik)。 从我迄今为止看到的代码示例来看,似乎有更多人遵循Crockford代码约定:
就个人而言,我更喜欢
此外,使用parens来包含自执行函数被认为是一种良好的实践,不管您选择使用哪种形式。 |
![]() |
Softly · 单选按钮未按预期取值 1 年前 |
|
SlickRed · 我无法使用JS关注HTML元素 1 年前 |
![]() |
assembler · Nextjs没有处理发布请求 1 年前 |
|
BADRUM · 执行两个获取功能后,如何导航回页面? 1 年前 |
![]() |
Toniq · javascript为php保存多维数组 1 年前 |