Подтвердить что ты не робот

Что делает этот комментарий /* @cc_on! @*/0 внутри оператора if в javascript?

немного вопрос об этом комментарии, который я нашел в электронной книге о HTML5: /* @cc_on! @*/0 этот комментарий должен быть каким-то образом связан с распознаванием браузера IE, чтобы использовать document.createElement() для создания непризнанных элементов HTML5, но я не сделал этого, t найти полезную информацию о значении того, как это работает, даже автор не объясняет это. Может кто-нибудь объяснить мне, что это такое и что он делает, пожалуйста?

Спасибо за внимание!

ИЗМЕНИТЬ:

в электронной книге автор говорит:

Следующий пример демонстрирует, как решить проблему для всех новых элементов, введенных в HTML5. Здесь мы включаем все элементы wed, чтобы заставить IE распознать:

И вот код:

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8" />
    <title>Styling Unknown Elements - 3</title>
    <script>
        (function() {
            if (! /*@[email protected]*/ 0)
                return;

            var e = "abbr,article,aside,audio,canvas,  datalist,details,eventsource,figure,footer,header,hgroup,mark,menu,meter,nav,output, progress,section,time,video".split(','),
                i = e.length;
            while (i--) {
                document.createElement(e[i]);

            }
        })()
    </script>
    <style>
        time {
            font-style: italic;
        }
    </style>
      ...

Извините за ужасный отступ, но я использую планшет. В любом случае, посмотрите на тег script и при этом условии.

4b9b3361

Ответ 1

@cc_on Statement - это флаг условной компиляции для IE (< 11) browser

Цитата из MSDN

@cc_on Statement (JavaScript)

Активирует поддержку условной компиляции в комментариях в script.

Внимание

Условная компиляция не поддерживается в Internet Explorer 11 Режим стандартов и приложения Windows Store. Условная компиляция поддерживается в режиме Internet Explorer 10 Standard и во всех предыдущих версиях версии.

/*@cc_on @*/
/*@
    document.write("JavaScript version: " + @_jscript_version + ".");
    document.write("<br />");
    @if (@_win32)
        document.write("Running on the 32-bit version of Windows.");
    @elif (@_win16)
        document.write("Running on the 16-bit version of Windows.");
    @else
        document.write("Running on a different operating system.");
    @end
@*/

так

if(!/*@[email protected]*/0)

Если ваш браузер не знает условную компиляцию (кроме IE < 11), выражение будет выглядеть следующим образом:

if(!0) // ==> TRUE

в противном случае это будет:

if(!!0) // ==> FALSE