1

現在、私はPHPで次のような関数を宣言しています:

function theFunction($theVar) {
   ...
}

JavaScript では次のようになります。

function theFunction(theVar) {
   ...
}

関数に 1 行しか含まれていない場合、中括弧を省略できますか? お気に入り:

function theFunction($theVar)
   doSomething();

と:

function theFunction(theVar)
   doSomething();
4

4 に答える 4

3

いいえ。中かっこは必須です。(試してみて、自分の目で確かめてください)。

于 2013-03-28T13:15:37.097 に答える
3

いいえ、PHP も JS もこの種の宣言をサポートしていません。同じことがtryandcatchブロックにも当てはまります。これは、何らかの理由で常に中かっこを必要としますが、条件ステートメントとループ ステートメントには必要ありません。

于 2013-03-28T13:16:45.390 に答える
3

私の知る限り、それはどちらの言語でも許可されていません。

どちらも単一ステートメントif()とループでは許可されますが、関数では許可されません (PHP の場合は、クラスでも許可されません)。

しかし、たとえそれが許可されたとしても、私は強くお勧めしません。読みやすくし、あいまいさを避けるために、中かっこがあるのには理由があります。if()厳密には必須ではありませんが、同じ理由で常に s とループに使用することをお勧めします。

Python のような言語は、非常に厳密なインデント規則があるため、中括弧なしで済みます。これらの規則がなければ、言語には中括弧 (またはその他のブロック マーカー) が必要です。それらを使用しないと、コードに論理エラーが発生するリスクが非常に高くなります。

于 2013-03-28T13:20:09.463 に答える
0

いいえ、メインステートメントが含まれている方法に関係なく、関数宣言にはブロックが必要です。

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