Операторы условной компиляции

Следующие операторы позволяют JScript управлять компиляцией скрипта в зависимости от значений переменных условной компиляции. Можно использовать переменные, заданные в JScript, или определить свои собственные переменные с помощью директивы @set или параметра командной строки /define.

Операторы

Оператор

Описание

@cc_on

Включает поддержку условной компиляции.

@if

Выполняет блок операторов в зависимости от значения выражения.

@set

Создает переменные, используемые вместе с операторами условной компиляции.

Операторы @cc\_on, @if или @set активируют условную компиляцию. К типичным применениям условной компиляции относится использование новых функций в JScript, внедрение в скрипт поддержки отладки и отслеживание выполнения кода.

При создании скрипта, предназначенного для запуска веб-обозревателями, следует всегда помещать код условной компиляции в комментарии. Таким образом узлы, не поддерживающие условную компиляцию, смогут ее пропустить. Пример.

/*@cc_on @*/
/*@if (@_jscript_version >= 5)
document.write("JScript Version 5.0 or better.<BR>");
@else @*/
document.write("You need a more recent script engine.<BR>");
/*@end @*/

В данном примере используются специальные разделители комментариев, которые применяются только в том случае, если было выполнено включение условной компиляции с помощью оператора @cc\_on. Обработчики скриптов, не поддерживающие условную компиляцию, отображают сообщение о том, что необходим новый обработчик скриптов, не вызывающий ошибки. Обработчики, поддерживающие условную компиляцию, выполняются компиляцию первого или второго выражения document.write в зависимости от версии обработчика. Обратите внимание на то, что версия 7.x соответствует языку JScript .NET. Дополнительные сведения см. в разделе Определение возможностей браузера.

Условную компиляцию удобно использовать для серверных скриптов и программ командной строки. В этих приложениях условная компиляция может использоваться для компиляции в программу дополнительных функций, облегчающих профилирование в режиме отладки.

См. также

Ссылки

/define

Основные понятия

Переменные условной компиляции

Директивы условной компиляции

Определение возможностей браузера

Другие ресурсы

Условная компиляция