Szukaj…


Składnia

  • // 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)

Korzystanie z komentarzy

Aby dodać adnotacje, podpowiedzi lub wykluczyć wykonanie kodu, JavaScript udostępnia dwa sposoby komentowania linii kodu

Komentarz //

Wszystko po // do końca linii jest wykluczone z wykonania.

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

Komentarz do wielu wierszy /**/

Wszystko między otwarciem /* a zamknięciem */ jest wykluczone z wykonania, nawet jeśli otwarcie i zamknięcie są na różnych liniach.

/*
   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! */

Używanie komentarzy HTML w JavaScript (zła praktyka)

Komentarze HTML (opcjonalnie poprzedzone białymi znakami) spowodują, że kod (w tym samym wierszu) zostanie również zignorowany przez przeglądarkę, chociaż jest to uważane za złą praktykę .

Komentarze jednowierszowe z sekwencją otwierającą komentarze HTML ( <!-- ):

Uwaga: interpreter JavaScript ignoruje tutaj zamykające znaki komentarzy HTML ( --> ).

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

Tę technikę można zaobserwować w starszym kodzie, aby ukryć JavaScript przed przeglądarkami, które go nie obsługują:

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

Komentarz zamykający HTML może być również użyty w JavaScript (niezależnie od komentarza otwierającego) na początku wiersza (opcjonalnie poprzedzony białymi spacjami), w którym to przypadku powoduje również ignorowanie reszty wiersza:

--> Unreachable JS code

Te fakty zostały również wykorzystane, aby strona mogła się nazywać najpierw HTML, a następnie JavaScript. Na przykład:

<!--
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>
<!--
*/
-->

Po uruchomieniu HTML cały tekst wielowierszowy między komentarzami <!-- i --> jest ignorowany, więc zawarty w nim JavaScript jest ignorowany, gdy jest uruchamiany jako HTML.

Ponieważ JavaScript jest ignorowany, podczas gdy linie zaczynające się od <!-- i --> są ignorowane, ich efektem nie jest ucieczka przez wiele linii, więc linie następujące po nich (np. self.postMessage(... ) nie będą ignorowane, gdy są uruchamiane jako JavaScript, przynajmniej do momentu otrzymania komentarza JavaScript , oznaczonego przez /* i */ . Takie komentarze JavaScript są używane w powyższym przykładzie do zignorowania pozostałego tekstu HTML (aż do --> który jest również ignorowany jako JavaScript ).



Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow