JScript peut utiliser les instructions suivantes pour contrôler la compilation de scripts en fonction de la valeur des variables de compilation conditionnelles. Vous pouvez soit utiliser les variables fournies par JScript, soit définir les vôtres à l'aide de la directive @set ou de l'option de ligne de commande /define.
@cc_on
Activez la prise en charge de la compilation conditionnelle.
@if
Exécutez conditionnellement un ensemble d’instructions basées sur la valeur d’une expression.
@set
Créez des variables à l'aide d'instructions de compilation conditionnelle.
L'instruction @cc_on, @if ou @set active la compilation conditionnelle. Certaines utilisations typiques de la compilation conditionnelle incluent l'utilisation de nouvelles fonctionnalités dans JScript, l'intégration de la prise en charge du débogage dans un script et le suivi de l'exécution du code.
Lorsque vous écrivez des scripts destinés à être exécutés par un navigateur Web, mettez toujours le code de compilation conditionnelle dans les commentaires. Par conséquent, les hôtes qui ne prennent pas en charge la compilation conditionnelle peuvent ignorer ce code. Voici un exemple.
/*@cc_on @*/
/*@if (@_jscript_version >= 5)
document.write("JScript version 5.0 ou supérieure.
");
@else @*/
document.write("Vous avez besoin d'un moteur de script plus récent.
");
/*@end @*/
Cet exemple utilise des délimiteurs de commentaires spéciaux, qui ne sont utilisés qu'une fois que l'instruction @cc_on a activé la compilation conditionnelle. Les moteurs de script qui ne prennent pas en charge la compilation conditionnelle affichent un message suggérant qu'un nouveau moteur de script doit être utilisé sans générer d'erreur. Les moteurs prenant en charge la compilation conditionnelle compilent le premier ou le deuxième document.write en fonction de la version du moteur. Notez que la version 7.x signifie JScript .NET. Pour plus d'informations, consultez Détection des fonctionnalités du navigateur.
La compilation conditionnelle est également utile pour les scripts côté serveur et les programmes en ligne de commande. Dans ces applications, la compilation conditionnelle peut être utilisée pour compiler d'autres fonctions dans un programme à des fins d'analyse en mode débogage.
Les variables prédéfinies suivantes sont disponibles pour la compilation conditionnelle.
@_win32
True s’il est exécuté sur un système Win32 et qu’aucune option /platform n’est spécifiée ou que l’option /platform:anycpu est spécifiée dans le cas contraire ;
@_win16
True s’il est exécuté sur un système Win16 ; sinon, NaN.
@_mac
True si exécuté sur un système Apple Macintosh ; sinon.
@_alpha
True si exécuté sur un processeur DEC Alpha ; sinon.
@_x86
True s’il est exécuté sur un processeur Intel et que l’option /platform n’est pas spécifiée ou que l’option /platform:anycpu est spécifiée dans le cas contraire ;
@_mc680x0
Vrai si exécuté sur un processeur Motorola 680x0 ; sinon, NaN.
@_PowerPC
Vrai si exécuté sur un processeur Motorola PowerPC ; sinon, NaN.
@_jscript
est toujours vrai.
@_jscript_build
Le numéro de build du moteur de script JScript.
@_jscript_version
Un nombre représentant le numéro de version de JScript au format major.minor.
@_debug
true si compilation en mode débogage ; false sinon.
@_fast
true si la compilation est en mode rapide ; false sinon.
Attention
JScript .NET signale un numéro de version de 7.x. JScript 8.0 signale un numéro de version de 8.x.
Avant d'utiliser des variables de compilation conditionnelle, la compilation conditionnelle doit être activée. L'instruction @cc_on active la compilation conditionnelle. Les variables de compilation conditionnelles sont couramment utilisées dans les scripts écrits pour les navigateurs Web. Les variables de compilation conditionnelles sont rarement utilisées dans les scripts écrits pour les pages ASP ou ASP.NET ou les programmes de ligne de commande, car d'autres méthodes peuvent être utilisées pour déterminer la compatibilité du compilateur.
Lorsque vous écrivez des scripts à utiliser sur des pages Web, mettez toujours le code de compilation conditionnelle dans les commentaires. De cette façon, les hôtes qui ne prennent pas en charge la compilation conditionnelle peuvent ignorer le code. Voici un exemple.
/*@cc_on
document.write("Version JScript : " @_jscript_version ".
");
@if (@_win32)
Document.write("Fonctionne sous Windows 32 bits.
");
@elif (@_win16)
Document.write("Fonctionne sous Windows 16 bits.
");
@else
Document.write("Exécution sur une autre plateforme.
");
@fin
@*/