目前,我正在使用PHP声明函数:
function theFunction($theVar) {
...
}
在JavaScript中如下:
function theFunction(theVar) {
...
}
当函数只包含一行时,我可以省略花括号吗?像:
function theFunction($theVar)
doSomething();
和
function theFunction(theVar)
doSomething();
答案 0 :(得分:3)
没有。花括号是必需的。 (试试吧,亲眼看看)。
答案 1 :(得分:2)
据我所知,这两种语言都不允许这样做。
它们都允许它用于单语句if()
和循环,但不允许用于函数(在PHP的情况下,也不用于类)。
但即使允许,我强烈建议不要这样做;大括号是有原因的,有助于提高可读性并避免含糊不清。我建议总是将它们用于if()
和循环,原因相同,即使它们并非严格要求。
像Python这样的语言没有大括号,因为它们有非常严格的缩进规则。没有这些规则,语言需要括号(或其他一些块标记);如果你不使用它们,你的代码存在很高的逻辑错误风险。
答案 2 :(得分:1)
不,PHP和JS都不支持这种声明。同样是try
和catch
块,由于某种原因总是需要花括号,即使条件和循环语句没有。
答案 3 :(得分:0)
不,函数声明需要一个块,无论其中包含的主语句如何。
function f()
console.log(x); // error: unexpected identifier