赤字:JavaScriptの命令や重要なタグ/青字:用途に応じて変更する部分/緑字:変更可能な変数名やユーザー関数名
スクリプトのタグ内にある「<!--」と「//-->」はいったいなでしょうか?
HTMLでは、タグと文字列を使って画面に情報を表示しています。しかし、中には表示したくない情報があります。
製作者が後で見返したり、誰かがソースを見たときのために、注意書きや記録を残しておきたい場合があるのです。そういうときにコメントアウトを使います。
HTMLの場合は、表示される情報以外はタグを使って表現しています。コメントアウトもタグと同様なものを使います。
① ④
①<!-- ②この部分がコメントアウトです -->
<!-- ③ このように 複数の行でも 対応しています。 -->
④
<script>タグ間にもこれと同じものがあるのは、スクリプトが実行できない環境でタグ間のスクリプトのソース部分が表示されないようにするためです。
これはブラウザがタグを理解できない場合に、タグ間の文字列が表示されてしまうことがあるためです。
例えば、携帯電話の標準ブラウザでスクリプトを含んだページを見たときに、スクリプトがそのまま表示されてしまいます。
次にスクリプト内でのコメントアウト方法を見てみましょう。
<script type="text/javascript">
<!-- document.write("①"); //この行がコメントアウトになります。 //document.write("②"); /*
document.write("③");
複数行ある場合は
このようにします。
*/ document.write("④"); //--> </script>
1つの行内では、「//」を使うと、それ以降がコメントアウトされます。それより前の部分はスクリプトとして実行されますので、スクリプトの後ろに補足説明を付けたりすることができます。
複数の行にコメントアウトを指定する場合は「/*~*/」を使います。
上記例では、alertがコメントアウト内にあるため実行されないことになります。
さて、最初の疑問に戻ります。どうしてスクリプトタグ間の最後が「//-->」になっているのか。
「<!--」の方はそのままで問題ないのですが、「-->」の方はスクリプトとして認識されてしまうため、「//」を使ってJavaScriptからコメントアウトしているのです。
これはおまじないとしてタグとセットで覚えて置いた方が良いでしょう。