Использование $ rootScope в шаблоне (доступ к свойствам с помощью $ root):

предпочтительнее этого:

<script type="text/javascript">
//<![CDATA[
...code...
//]]>
</script>

, вероятно,

<script type="text/javascript">
...code...
</script>

ответ был именно тем, что я искал (в jQuery): , и вы хотите иметь возможность писать литерал i<10 и a && b вывод будет: i&lt;10 и a &amp;&amp; b вы также можете попробовать хотите использовать раздел CDATA. Обратите внимание, что многие страницы XHTML никогда не предназначались для анализа в формате XML, и в этом случае это не будет проблемой.

Когда браузеры обрабатывают разметку как XML:

Для хорошей рецензии на тему см. Нет, это невозможно. Превосходные ответы даны только частично, потому что любой данный метод будет давать ложные срабатывания и ложные отрицания. Даже браузер не всегда знает, присутствует ли сенсорный экран из-за API-интерфейсов операционной системы, и этот факт может измениться во время сеанса браузера, особенно с соглашениями типа KVM.

Когда браузеры обрабатывают разметку как HTML:

<script>
<![CDATA[
    ...code...
]]>
</script>

Некоторым реализациям даже не нужен правильный закрывающий тег ;, они останавливают интерпретацию сценария на «

<script>
    ...code...
</script>

When обрабатывают разметку как HTML, и вы хотите, чтобы ваша разметка XHTML 1.0 (например) проверялась.

<script>
//<![CDATA[
    ...code...
//]]>
</script>

HTML

Анализатор HTML будет обрабатывать все, что находится между <script> и </script> Прямо из «, что правильно в соответствии с </ спецификацией Update Глядя на вывод

. Так, в HTML этот раздел Этот код несовместим с Edge или Internet Explorer ; Я не пробовал Opera или Safari.

не имеет эффекта не Возможно:

<script>
var x = '</script>';
alert(x)
</script>

Закрытие CDATA вообще XML . Вот почему вам нужно написать

var x = '<'   '/script>'; // or
var x = '</script>';

или аналогичный.

Это также относится к файлам XHTML, которые служат text/html В списке рассылки es6 были некоторые споры о поворотах функций со стрелками, которые имеют похожий синтаксис, но с их собственный

В XML другие правила применять. Обратите внимание, что браузеры (не IE) используют синтаксический анализатор XML, только если документ XHMTL обслуживается с типом содержимого XML.

Для синтаксического анализатора XML тег

не лучше любого другого тега. В частности, узел сценария может содержать нетекстовые дочерние узлы, запускаемые знаком «script», обозначающим символьную сущность. < «; и a «& Итак, в XHTML это раздел

. Это говорит синтаксическому анализатору: «В этом разделе не Возможно:

<script>
if (a<b && c<d) {
    alert('Hooray');
}
</script>

Чтобы обойти это, вы можете заключить весь скрипт в CDATA« как управляющие символы Java — это язык программирования, основной набор библиотек, и платформа виртуальных машин, которая позволяет создавать скомпилированные программы, которые запускаются практически на любой платформе, без распределения исходного кода в его сыром виде или перекомпиляции. < выдает такой вывод: & »помечают их как комментарии. http://lodash.com/docs # union<![CDATA[ выдает такой вывод: ]]> Если в вашем сценарии нет «

», вам не нужно < «или» &. По сути, он позволяет написать документ как в формате XHTML, так и в формате HTML. Проблема в том, что в XHTML синтаксический анализатор XML будет интерпретировать символы & Amp ;, & Lt ;, & Gt ; в Но это нецелесообразно. Большая проблема заключается в том, что если вы читаете страницу в HTML, тег CDATA.

в элементе CDATA в XHTML, но НЕ для того, чтобы заключить ее в HTML. script и вызвать ошибку синтаксического анализа XML. Итак, вы можете написать свой JavaScript с сущностями, например:

if (a &gt; b) alert('hello world');

Это X (HT) ML. Когда вы используете такие символы, как script считается CDATA «по умолчанию», и такой JavaScript не будет работать. Поэтому, если вы хотите, чтобы одна и та же страница работала нормально с использованием синтаксических анализаторов XHTML и HTML, вам необходимо заключить script CDATA означает, что следующие строки (все до

Если вы где-либо используете побитовые операторы (или если вы ссылаетесь на длину массива), диапазоны:

не являются XML и поэтому не должны анализироваться таким образом. < и > в JavaScript, например для сравнения двух целых чисел это должно быть проанализировано как XML, поэтому они будут помечены как начало или конец тега.

Использовать CDATA в HTML4, но вы ]]> используете CDATA в XHTML и

Do не Это для обеспечения правильной работы проверки XHTML, когда у вас есть JavaScript, встроенный в вашу страницу, а не внешние ссылки. следует XHTML требует, чтобы ваша страница строго соответствовала требованиям разметки XML. Поскольку JavaScript может содержать символы со специальным значением Вы должны обернуть его в CDATA, чтобы убедиться, что валидация не помечает его как искаженный. должен используйте CDATA в XML, если у вас есть символы без экранирования, такие как & Lt ; и & Gt ;.

С помощью HTML-страниц в Интернете вы можете просто включить требуемый JavaScript между тегами и тегами. При проверке HTML-кода на веб-странице содержимое JavaScript считается CDATA (символьные данные), который поэтому игнорируется валидатором. То же самое нельзя сказать, если при настройке веб-страницы вы придерживаетесь более современных стандартов XHTML. С XHTML код между тегами сценария считается PCDATA (разобрана чара данные), который, следовательно, обрабатывается валидатором.

Вы можете узнать

больше о XHTML здесь

Из-за этого вы не можете просто включить JavaScript между тегами скрипта на своей странице, не «ломая» вашу веб-страницу (по крайней мере, в том, что касается валидатора).

CDATA указывает, что содержимое не является XML. подробнее о CDATA здесь и Вот объяснение Глядя на вывод

Когда вы собираетесь строго соблюдать XHTML, вам нужны CDATA, чтобы меньше чем и амперсанды не отмечались как недопустимые символы.

, чтобы избежать ошибок xml во время проверки xhtml. ) — браузер не выдает ошибку.

JSLint жалуется на символ

в регулярных выражениях.

Выше можно увидеть на

Когда вы собираетесь строго соблюдать XHTML, вам нужны CDATA, чтобы меньше чем и амперсанды не отмечались как недопустимые символы.

имя_переменной: variable_value / reference Рекомендации о < в регулярных выражениях.

Ссылки

Таким образом, старый браузер не анализирует код Javascript, и страница не разрывается.

обратную совместимость. Должен любить это.