For example, this
<script> --> --> <!-- <!-- for (var i = 1; false < !--i;) console.log(i); <!-- <!-- console.log("hello"); <!-- <!-- </script> Browser fine. And this
<script> for (var i = 1; false <!--i;) console.log(i); </script> mistake.
Similarly obtained for NodeJS. For example, I run NodeJS in interactive mode, and it turns out for the first code like this:
> --> --> undefined > <!-- <!-- undefined > for (var i = 1; false < !--i;) console.log(i); 0 undefined > <!-- <!-- undefined > console.log("hello"); hello undefined > <!-- <!-- undefined > And for the second:
> for (var i = 1; false <!--i;) console.log(i); ... Usually for interpreters in interactive mode, this means that the interpreter is waiting for input from a new line. Why?
But it works:
> for (var i = 1; false < !--i;) console.log(i); 0 undefined >
<!--sign and throws an error ........ where are any html comments - unknown - Aleksey Shimansky