我可以在函数声明中省略花括号吗?

时间:2013-03-28 13:14:11

标签: php javascript function

目前,我正在使用PHP声明函数:

function theFunction($theVar) {
   ...
}

在JavaScript中如下:

function theFunction(theVar) {
   ...
}

当函数只包含一行时,我可以省略花括号吗?像:

function theFunction($theVar)
   doSomething();

function theFunction(theVar)
   doSomething();

4 个答案:

答案 0 :(得分:3)

没有。花括号是必需的。 (试试吧,亲眼看看)。

答案 1 :(得分:2)

据我所知,这两种语言都不允许这样做。

它们都允许它用于单语句if()和循环,但不允许用于函数(在PHP的情况下,也不用于类)。

但即使允许,我强烈建议不要这样做;大括号是有原因的,有助于提高可读性并避免含糊不清。我建议总是将它们用于if()和循环,原因相同,即使它们并非严格要求。

像Python这样的语言没有大括号,因为它们有非常严格的缩进规则。没有这些规则,语言需要括号(或其他一些块标记);如果你不使用它们,你的代码存在很高的逻辑错误风险。

答案 2 :(得分:1)

不,PHP和JS都不支持这种声明。同样是trycatch块,由于某种原因总是需要花括号,即使条件和循环语句没有。

答案 3 :(得分:0)

不,函数声明需要一个块,无论其中包含的主语句如何。

function f()
    console.log(x); // error: unexpected identifier