About javascript function
我在javascript中发现了一个奇怪的行为:
1 2 3
| function() {
return 10;
}(); |
此构造不适用于所有浏览器,因为它有语法错误。但这个建筑工程(回报10分):
1 2 3
| +function() {
return 10;
}(); |
为什么?
- dup:stackoverflow.com/questions/13341698/…
- @JCH-很好的接球!
- 每个版本都使用哪些浏览器?
+允许JS引擎在该函数表达式和函数定义之间进行区别。
为了提高可读性,我们通常使用
1 2 3
| (function() {
return 10;
})(); |
见相关文章
- 我认为最好把执行部分放在外部部分,(function () { return 10; }());。
- 艾瑞克为什么?我认为我给出的形式是最常见的形式,在我看来,更容易看到函数被调用。
- 我认为我的建议更容易看到函数被调用。开发人员看不到第一个结束括号,认为它已经完成了…函数调用附加到函数本身,不会丢失。如果之间有空格怎么办,就像在(function () { return 10; }) [spaces _ _ _ ] ();中那样?这可能会令人困惑,但(function () { return 10; } [spaces _ _ _ ] ());非常清楚地表明括号属于它之前的某个内容。