1

AJAX投稿を行うためにいくつかのデータを設定していますが、コードは次のようになっています。

var data = {}
data.someId= 3;
data.anotherId = 4;

これは正常に機能します。しかし、なぜ最初の行の最後にセミコロンが必要ないのですか?

4

6 に答える 6

5

彼らはoptionalです。あなたはそれらのどれも必要ありません。

https://mislav.net/2010/05/semicolons/

于 2011-06-19T06:31:06.333 に答える
5

JavaScriptには自動セミコロン挿入があるためです。

以前、誤って自動セミコロン注入と呼んでいましたが、これは理にかなっています:P

言語はそれらを必要としますが、それはあなたのスクリプトを前処理し、それらがどこに行くべきかを推測しようとします。pstのコメントでわかるように、これは常にうまくいくとは限りません。

セミコロンは自分で定義する必要があります。JavaScriptに推測させないでください。

于 2011-06-19T06:31:30.137 に答える
0

Javascriptでは、1行の1つのステートメントにセミコロンは必要ありません。

于 2011-06-19T06:31:22.847 に答える
0

JavaScriptは、実際にはステートメントの終わりを決定するためにセミコロンを必要としません。セミコロンが存在しない場合は、ステートメントの最後に改行が使用されます。セミコロンを使用する必要があるのは、同じ行に2つのステートメントを次々に配置する場合のみです。

とはいえ、混乱を避け、見つけるのが難しいバグを避けるために、ステートメントは常にセミコロンで終了することをお勧めします。

于 2011-06-19T06:31:32.473 に答える
0

javascriptではセミコロンはオプションです。ただし、追加することをお勧めします。

于 2011-06-19T06:33:48.087 に答える
0

リンターがそれらを検出するように設定されている場所でセミコロンを使用しない場合、リンター設定がトリガーされることがあります。ただし、JavaScriptでは、改行の直前に配置されるセミコロンなど、一部のセミコロンはオプションです。自動セミコロン挿入(ASI)に感謝します。

ASIは、セミコロンがオプションである場合の一連のルールであり、実際にはコードにセミコロンを挿入しません。

いくつかのセミコロンが必要です。必要なセミコロンの例には、forループとdo-whileループの先頭が含まれます。

オプションのセミコロンを省略することは有効なコードですが、ミニファイアなどの一部のツールはそれらのセミコロンを解釈するように記述されているため、これらのツールの1つでエラーが発生する可能性があるため注意してください。

于 2017-03-13T01:34:54.053 に答える