1

目前,我在 PHP 中声明函数,例如:

function theFunction($theVar) {
   ...
}

在 JavaScript 中,例如:

function theFunction(theVar) {
   ...
}

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

function theFunction($theVar)
   doSomething();

和:

function theFunction(theVar)
   doSomething();
4

4 回答 4

3

不,大括号是必需的。(试试看,自己看看)。

于 2013-03-28T13:15:37.097 回答
3

不,PHP 和 JS 都不支持这种声明。try和块也是catch如此,出于某种原因,它总是需要花括号,即使条件和循环语句不需要。

于 2013-03-28T13:16:45.390 回答
3

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

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

但即使它被允许,我强烈建议不要这样做;大括号的存在是有原因的,以提高可读性并避免歧义。出于同样的原因,我建议始终将它们用于if()s 和 loops,即使它们在那里并不是严格要求的。

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

于 2013-03-28T13:20:09.463 回答
0

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

function f()
    console.log(x); // error: unexpected identifier
于 2013-03-28T13:15:44.323 回答