JavaScriptの勉強をしています。
JavaScript、jqueryの行末に「;」(セミコロン)を
付けてはいけない時の判断について教えて下さい。
私の解釈では
JavaScript、jqueryでは行末には「;」(セミコロン)を付ける
例外として行末に「;」(セミコロン)を付けない場合
・条件式のブロック「{}」の行末
・関数のスコープ「{}」の行末
と覚えていました。
ところがjqueryの勉強のために自分用に作成したサンプルのコードで
行末に「;」(セミコロン)を付けたら動作しなくなりました。
確認したところ「;」(セミコロン)なしが正常で、
「;」(セミコロン)有りが間違いのようです。
サンプルのコードの「;」(セミコロン)ついて以下の件について教えて下さい。
1)1番は関数ではないのに「;」(セミコロン)なしでも動作するのはなぜですか?
=「;」(セミコロン)を付けると、どうして動作しなくなるのですか?
2-A)2番は関数がありますが、関数全体が「()」で囲われています。
こういう場合は「.done(function(data){})」全体を「.done」の関数とみなして
行末の「;」(セミコロン)をなしにするということですか?
2-B)2番は3番と同じ型ですが、3番は行末に「;」(セミコロン)があっても動作します。
型が同じであるのになぜ3番だけ行末に「;」(セミコロン)があっても動作して、
2番は行末に「;」(セミコロン)を付けると動作しなくなるのですか?
3)3番は行末に「;」(セミコロン)があっても、なくても動作します。
3番の行末に「;」(セミコロン)を付けるのは任意ということで、
3番は「;」(セミコロン)付けても、付けなくてもどちらでも良いのでしょうか?
以上です。
すいませんが詳しい方、説明の上手な方JavaScript、jqueryで
どういう時に行末に「;」(セミコロン)を付けると
動作しなくなるのか(=行末に「;」をつけてはいけないのか)教えて下さい。
よろしくお願いします。
<script src="http://code.jquery.com/jquery-1.11.3.min.js"></script> <script> $(document).ready(function(){ $.ajax({url: 'data.json', dataType: 'json'}) //1_「;」なし .done(function(){console.log('AA');}) //2_「;」なし .fail(function(){console.log('BB');}); //3_どちらでもOK }); </script>
何度もすいません。
ここからです。
コメント欄ではマークダウン使えませんので書いた通りには表示されません。
ご自身のコードの整形に使ってください
<script> $(document).ready(function() { $.ajax({ url: 'dataZ.json', dataType: 'json' }) //1_「;」なし .done(function() { console.log('AA') }) //2_「;」なし .fail(function() { console.log('BB'); }) //3_どちらでもOK }); </script>
回答2件
あなたの回答
tips
プレビュー