サーチ…


構文

  • // Single line comment (continues until line break)
  • /* Multi line comment */
  • <!-- Single line comment starting with the opening HTML comment segment "<!--" (continues until line break)
  • --> Single line comment starting with the closing HTML comment segment "-->" (continues until line break)

コメントの使用

アノテーションやヒントを追加したり、コードの実行を除外するにはJavaScriptには、コード行をコメントする2つの方法があります

一行コメント//

//後ろの行の終わりまでが実行から除外されます。

function elementAt( event ) {
  // Gets the element from Event coordinates
  return document.elementFromPoint(event.clientX, event.clientY);
}
// TODO: write more cool stuff!

複数行コメント/**/

開口部との間のすべて/*と終了*/開閉が異なるライン上にある場合でも、実行から除外されています。

/*
   Gets the element from Event coordinates.
   Use like: 
   var clickedEl = someEl.addEventListener("click", elementAt, false);
*/
function elementAt( event ) {
  return document.elementFromPoint(event.clientX, event.clientY);
}
/* TODO: write more useful comments! */

JavaScriptでのHTMLコメントの使用(悪い習慣)

HTMLコメント(オプションで空白文字を前に付けることもできます)は、同じ行にあるコードもブラウザで無視されますが、これは悪い習慣とみなされます。

HTMLコメントの開始シーケンス( <!-- )による1行のコメント:

注: JavaScriptインタプリタはHTMLコメントの終わりの文字( --> )をここでは無視します。

<!-- A single-line comment.
<!-- --> Identical to using `//` since
<!-- --> the closing `-->` is ignored.

この手法は、レガシーコードでは、JavaScriptをサポートしていないブラウザからJavaScriptを隠すために使用できます。

<script type="text/javascript" language="JavaScript">
<!--
/* Arbitrary JavaScript code.
   Old browsers would treat
   it as HTML code. */
// -->
</script>

HTMLの終了コメントは、行頭の先頭(オプションで空白で始まる)のJavaScriptで(開始コメントとは独立に)使用することもできます。この場合、行の残りの部分も無視されます。

--> Unreachable JS code

これらの事実はまた、ページがHTMLとして最初に、そしてJavaScriptとして第2に呼び出すことを可能にするために悪用されています。例えば:

<!--
self.postMessage('reached JS "file"');
/*
-->
<!DOCTYPE html>
<script>
var w1 = new Worker('#1');
w1.onmessage = function (e) {
    console.log(e.data); // 'reached JS "file"
};
</script>
<!--
*/
-->

HTMLを実行すると、 <!---->コメントの間のすべての複数行のテキストは無視されるので、HTMLとして実行されるときにそこに含まれるJavaScriptは無視されます。

しかし、JavaScriptのように、 <!---->始まる行は無視されますが、その効果は複数行にわたってエスケープされないので、それに続く行( self.postMessage(... )は彼らはJavaScriptのコメントに達する少なくともまで、は、JavaScriptとして実行することにより、マークされたときに無視/**/ 。このようなJavaScriptのコメントがされるまで、残りのHTMLテキストを(無視する上記の例で使用されている-->また、JavaScriptのように無視されています)。



Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow