Heim > Artikel > Web-Frontend > Detaillierte Erläuterung bedingter Kommentare in JScript_Javascript-Kenntnissen
JScript kann die folgenden Anweisungen verwenden, um die Kompilierung von Skripten basierend auf dem Wert bedingter Kompilierungsvariablen zu steuern. Sie können entweder die von JScript bereitgestellten Variablen verwenden oder Ihre eigenen mithilfe der @set-Direktive oder der Befehlszeilenoption /define definieren.
@cc_on
Aktivieren Sie die Unterstützung für bedingte Kompilierung.
@if
Führen Sie eine Reihe von Anweisungen basierend auf dem Wert eines Ausdrucks bedingt aus.
@set
Erstellen Sie Variablen mithilfe von Anweisungen zur bedingten Kompilierung.
Die Anweisung @cc_on, @if oder @set aktiviert die bedingte Kompilierung. Zu den typischen Anwendungen der bedingten Kompilierung gehören die Verwendung neuer Funktionen in JScript, das Einbetten von Debugging-Unterstützung in ein Skript und das Verfolgen der Codeausführung.
Wenn Sie Skripte schreiben, die von einem Webbrowser ausgeführt werden sollen, fügen Sie immer bedingten Kompilierungscode in Kommentare ein. Daher können Hosts, die die bedingte Kompilierung nicht unterstützen, diesen Code ignorieren. Hier ist ein Beispiel.
/*@cc_on @*/
/*@if (@_jscript_version >= 5)
document.write("JScript Version 5.0 oder besser.
");
@else @*/
document.write("Sie benötigen eine neuere Skript-Engine.
");
/*@end @*/
In diesem Beispiel werden spezielle Kommentartrennzeichen verwendet, die erst verwendet werden, nachdem die @cc_on-Anweisung die bedingte Kompilierung aktiviert. Skript-Engines, die die bedingte Kompilierung nicht unterstützen, zeigen eine Meldung an, die darauf hinweist, dass eine neue Skript-Engine verwendet werden muss, ohne dass ein Fehler generiert wird. Engines, die die bedingte Kompilierung unterstützen, kompilieren je nach Version der Engine das erste oder zweite document.write. Beachten Sie, dass Version 7.x JScript .NET bedeutet. Weitere Informationen finden Sie unter Erkennen von Browserfunktionen.
Bedingte Kompilierung ist auch für serverseitige Skripte und Befehlszeilenprogramme nützlich. In diesen Anwendungen kann die bedingte Kompilierung verwendet werden, um andere Funktionen in ein Programm zur Analyse im Debug-Modus zu kompilieren.
Für die bedingte Kompilierung stehen die folgenden vordefinierten Variablen zur Verfügung.
@_win32
True, wenn die Option auf einem Win32-System ausgeführt wird und keine Option /platform angegeben ist oder andernfalls die Option /platform:anycpu angegeben ist.
@_win16
True, wenn es auf einem Win16-System ausgeführt wird; andernfalls.
@_mac
True, wenn es auf einem Apple Macintosh-System ausgeführt wird; andernfalls.
@_alpha
True, wenn es auf einem DEC Alpha-Prozessor ausgeführt wird; andernfalls.
@_x86
True, wenn die Ausführung auf einem Intel-Prozessor erfolgt und die Option /platform nicht angegeben ist oder andernfalls die Option /platform:anycpu angegeben ist.
@_mc680x0
True, wenn es auf einem Motorola 680x0-Prozessor läuft, andernfalls.
@_PowerPC
True, wenn es auf einem Motorola PowerPC-Prozessor läuft, andernfalls.
@_jscript
ist immer wahr.
@_jscript_build
Die Build-Nummer der JScript-Skript-Engine.
@_jscript_version
Eine Zahl, die die JScript-Versionsnummer im Major-Minor-Format darstellt.
@_debug
true, wenn im Debug-Modus kompiliert wird; andernfalls false.
@_fast
true, wenn im Schnellmodus kompiliert wird; andernfalls false.
Achtung
JScript .NET meldet eine Versionsnummer von 7.x. JScript 8.0 meldet eine Versionsnummer von 8.x.
Vor der Verwendung von Variablen für die bedingte Kompilierung muss die bedingte Kompilierung aktiviert werden. Die @cc_on-Anweisung aktiviert die bedingte Kompilierung. Bedingte Kompilierungsvariablen werden häufig in Skripten verwendet, die für Webbrowser geschrieben werden. Bedingte Kompilierungsvariablen werden selten in Skripten verwendet, die für ASP- oder ASP.NET-Seiten oder Befehlszeilenprogramme geschrieben wurden, da andere Methoden zur Bestimmung der Compilerkompatibilität verwendet werden können.
Fügen Sie beim Schreiben von Skripten zur Verwendung auf Webseiten immer bedingten Kompilierungscode in Kommentare ein. Auf diese Weise können Hosts, die die bedingte Kompilierung nicht unterstützen, den Code ignorieren. Hier ist ein Beispiel.
/*@cc_on
document.write("JScript-Version: " @_jscript_version ".
");
@if (@_win32)
Document.write("Läuft unter 32-Bit-Windows.
");
@elif (@_win16)
Document.write("Läuft unter 16-Bit-Windows.
");
@else
Document.write("Wird auf einer anderen Plattform ausgeführt.
");
@end
@*/