Hallo Rolf,
<script> let a=7; <!-- a = a + 1; --> console.log(a); </script>
gibt 7 aus.
das überrascht mich auf den ersten Blick, auf den zweiten dann aber doch nicht. Der HTML-Parser läuft anscheinend als erster drüber und schmeißt die Kommentare weg. Auch innerhalb des script-Elements.
Allerdings nur bei einem Script, das direkt im HTML-Dokument steht. In einem externen Javascript müsste das einen Syntax Error schmeißen.
<script> console.log("Hallo -->"); </script>
noch brav ein
Hallo -->
ausgibt, führt<!-- <script> console.log("Hallo -->"); </script> -->
ins erwartbare Chaos. Die Ausgabe ist
"); </script> -->
.
Das hätte ich erwartet. Aber das ist nicht die Ausgabe an der Konsole, sondern der HTML-Output im Browserfenster.
Aber selbst dies hier geht nicht:
<!-- <script>//<![CDATA[ console.log("Hallo -->"); //]]> </script> -->
weil innerhalb eines Kommentars kein CDATA eröffnet werden kann.
Okay. Auf die Idee bin ich nicht gekommen.
Live long and pros healthy,
Martin
--
Für welches Tier mühen wir uns am meisten ab? - Für die Katz'.
Für welches Tier mühen wir uns am meisten ab? - Für die Katz'.