Zoeken…
Syntaxis
-
// 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)
Opmerkingen gebruiken
Om annotaties, hints toe te voegen of bepaalde code uit te sluiten van uitvoering, biedt JavaScript twee manieren om coderegels te becommentariëren
Enkele regel Opmerking //
Alles na de //
tot het einde van de regel is uitgesloten van uitvoering.
function elementAt( event ) {
// Gets the element from Event coordinates
return document.elementFromPoint(event.clientX, event.clientY);
}
// TODO: write more cool stuff!
Meerregelig commentaar /**/
Alles tussen de opening /*
en de sluiting */
is uitgesloten van uitvoering, zelfs als het openen en sluiten op verschillende regels zijn.
/*
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! */
HTML-opmerkingen gebruiken in JavaScript (slechte oefening)
HTML-opmerkingen (optioneel voorafgegaan door witruimte) zorgen er ook voor dat code (op dezelfde regel) door de browser wordt genegeerd, hoewel dit als een slechte gewoonte wordt beschouwd.
Opmerkingen van één regel met de openingsvolgorde voor HTML-opmerkingen ( <!--
):
Opmerking: de JavaScript-interpreter negeert de afsluitende tekens van HTML-opmerkingen (
-->
) hier.
<!-- A single-line comment.
<!-- --> Identical to using `//` since
<!-- --> the closing `-->` is ignored.
Deze techniek kan worden waargenomen in oudere code om JavaScript te verbergen voor browsers die dit niet ondersteunen:
<script type="text/javascript" language="JavaScript">
<!--
/* Arbitrary JavaScript code.
Old browsers would treat
it as HTML code. */
// -->
</script>
Een HTML-slotopmerking kan ook worden gebruikt in JavaScript (onafhankelijk van een openingsopmerking) aan het begin van een regel (eventueel voorafgegaan door witruimte), in welk geval ook de rest van de regel wordt genegeerd:
--> Unreachable JS code
Deze feiten zijn ook benut om een pagina zichzelf eerst als HTML en vervolgens als JavaScript te laten noemen. Bijvoorbeeld:
<!--
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>
<!--
*/
-->
Wanneer een HTML wordt uitgevoerd, wordt alle tekst met meerdere regels tussen de <!--
en -->
opmerkingen genegeerd, dus het JavaScript dat erin is opgenomen, wordt genegeerd wanneer het als HTML wordt uitgevoerd.
Omdat JavaScript echter, terwijl de regels die beginnen met <!--
en -->
worden genegeerd, is het effect dat ze niet over meerdere regels ontsnappen, zodat de regels die daarop volgen (bijvoorbeeld self.postMessage(...
) niet genegeerd bij uitvoering als JavaScript, tenminste totdat ze een JavaScript- opmerking bereiken, gemarkeerd met /*
en */
. Dergelijke JavaScript-opmerkingen worden in het bovenstaande voorbeeld gebruikt om de resterende HTML- tekst te negeren (totdat de -->
die ook als JavaScript wordt genegeerd ).