Ответ 1
Если у вас есть два простых div, разница ясна:
<div> < </div> <!--Missing right angle bracket, bad markup-->
<div> > </div> <!--No problem, just a greater than text node-->
JSLint не предполагает, что script является автономным файлом или внутри тега script документа HTML. В языках разметки, таких как XUL, MXML, XAML, TVML, LZX, XHTML5 или SVG, содержимое тега script рассматривается как первый div в приведенном выше примере, поэтому левая угловая скобка будет выглядеть как начало тега. В этих языках используйте замену сущности или блок CDATA для обертывания левой угловой скобки и символов амперсанда:
<script>
if ( -1 < 0 && true !== false) {}
</script>
<script>
<![CDATA[
if ( -2 < 0 && true !== false) {}
]]>
</script>
Ссылки