我见过不同的开发人员在 javascript 中的函数后面包含分号,有些则没有。哪个是最佳实践?
function weLikeSemiColons(arg) {
// bunch of code
};
或者
function unnecessary(arg) {
// bunch of code
}
原文由 macca1 发布,翻译遵循 CC BY-SA 4.0 许可协议
我见过不同的开发人员在 javascript 中的函数后面包含分号,有些则没有。哪个是最佳实践?
function weLikeSemiColons(arg) {
// bunch of code
};
或者
function unnecessary(arg) {
// bunch of code
}
原文由 macca1 发布,翻译遵循 CC BY-SA 4.0 许可协议
我在函数作为变量声明之后使用它们:
var f = function() { ... };
但不是在古典风格的定义之后:
function f() {
...
}
原文由 Gabe Moothart 发布,翻译遵循 CC BY-SA 2.5 许可协议
13 回答13k 阅读
7 回答2.1k 阅读
3 回答1.3k 阅读✓ 已解决
6 回答1.2k 阅读✓ 已解决
2 回答1.4k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
6 回答1.1k 阅读
函数声明 后的分号 不是必需 的。
a
FunctionDeclaration
的语法在 规范 中描述如下:语法上不需要分号,但可能想知道为什么?
分号用于将 语句 彼此分开,而
FunctionDeclaration
不是 _语句_。FunctionDeclarations
在代码进入执行 之前 进行评估, 提升 是用来解释这种行为的 _常用词_。术语“函数声明”和“函数语句”经常被错误地互换使用,因为在 ECMAScript 规范中没有描述函数语句,但是有一些实现在它们的语法中包含函数语句,-特别是 Mozilla- 但同样这是非标准的。
但是,始终建议在您使用
FunctionExpressions
的地方使用分号。例如:如果在上例中省略第一个函数后的分号,您将得到完全不需要的结果:
第一个函数将立即执行,因为第二个函数周围的括号将被解释为函数调用的
Arguments
。推荐讲座:
FunctionDeclaration
vsFunctionExpression
)