Связь и интернет Архив Программирование
   
Сделать стартовойСделать закладку            
   ПОИСК  
   
Главная / JavaScript /
8  Perl
8  PHP
8  JavaScript
8  HTML
8  DHTML
8  XML
8  CSS
8  C / C++
8  Pascal и Delphi
8  Турбо Ассемблер
8  MySQL
8  CASE-технологии
8  Алгоритмы
8  Python
8  Обратная связь
8  Гостевая книга
Новости о мире


Дополнительные возможности JScript - Программирование от RIN.RU
Дополнительные возможности JScript



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


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


Начиная с Internet Explorer 4.0, язык JScript поддерживает условную компиляцию сценариев. Она была введена в JScript для того, чтобы одновременно обеспечить и использование новых возможностей языка, и совместимость со старыми версиями обозревателей. Типичными примерами использования условной компиляции являются добавление в сценарий отладочного кода и трассировка исполнения сценария.


Условная компиляция включается директивой @cc_on или директивами @if или @set.


Директивы условной компиляции всегда следует помещать внутрь комментариев с тем, чтобы обозреватели, которые не поддерживают условную компиляцию (например, Netscape Navigator), их игнорировали.


Приведем пример:


/*@cc_on @*/
/*@if (@_jscript_version >= 4)
alert("JScript версии 4 или выше");
@else @*/
alert("Ваш JScript устарел.");
/*@end @*/


В этом примере использованы комментарии специального вида, которые используются только после директивы @cc_on. Обозреватели, которые не поддерживают условную компиляцию, увидят здесь только строку alert("Ваш JScript устарел.") и исполнят ее.


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


В директивах условной компиляции могут использоваться предопределенные переменные, перечисленные в приведенной ниже таблице. Если значение переменной отлично от true, то она не определена и ведет себя как NaN.


Переменные условной компиляции
ПеременнаяОписание
@_win32true при выполнении в системе Win32.
@_win16true при выполнении в системе Win16.
@_mactrue при выполнении в системе Apple Macintosh.
@_alphatrue при выполнении на процессоре DEC Alpha.
@_x86true при выполнении на процессоре Intel.
@_mc680x0true при выполнении на процессоре Motorola 680x0.
@_PowerPCtrue при выполнении на процессоре Motorola PowerPC.
@_jscriptВсегда true.
@_jscript_buildНомер сборки JScript.
@_jscript_versionНомер версии JScript в формате m.n.



Директива @cc_on


Синтаксис: @cc_on

Директива @cc_on включает условную компиляцию. Пример ее использования приведен выше.


Альтернативный способом включения условной компиляции является использование директив @if или @set, не заключенных в комментарий.


Директива @if


Синтаксис:@if (условие1)
текст1
@elif (условие2)
текст2
@else
текст3
@end
Аргументы: условие1, условие2 - логические выражения
текст1, текст2, текст3 - любой текст JScript

Директива @if выполняет заданный фрагмент кода в зависимости от значения выражения. Если условие1 истинно, то выполняется текст1. Если условие1 ложно, присутствует необязательная директива @elif и условие2 истинно, то выполняется текст2. В противном случае, если присутствует необязательная директива @else, то выполняется текст3; если ее нет, то управление передается следующему оператору. Данная директива может содержать несколько ветвей @elif, но все они должны предшествовать ветви @else.


Пример ее использования:


@if (@_win32)
alert("Работаем в Windows NT/95/98")
@else
alert("Неизвестная операционная система!");


Директива @set


Синтаксис: @set @перем = значение
Аргументы: перем - переменная условной компиляции; значение - числовое или логическое выражение

Директива @set создает переменные условной компиляции. Имена таких переменных имеют синтаксис переменных JavaScript, но должны начинаться с символа "@". Значение, которое присваивается переменной, может быть любым выражением JavaScript (возможно с использованием ранее определенных переменных условной компиляции), которое возвращает числовое или логическое значение.


Примеры:


@set @var1 = 1
@set @var2 = (@var1 + 1) * 10;
@set @var3 = @_jscript_version


Если переменная используется до ее определения, то она имеет значение NaN. Поскольку это единственное значение. которое не равно самому себе, то проверку определенности значения переменной следует делать так:


@if (@myVar != @myVar)

<<<  Назад
 1  2  3  4 


 8  Комментарии к статье  8 8  Обсудить в чате

8  В тему

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

Типы данных

Выражения и операции

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

Операторы и функции

Использование объектов

Примитивные встроенные объекты

Строки: встроенный объект String

Массивы: встроенный объект Array

Дата и время: встроенный объект Date

Встроенные объекты Error, Math и RegExp

Исполняющая система JScript

Исполняющая система JScript (продолжение)

 
  
  
    Copyright ©  RIN 2003 - 2004      * Обратная связь