條件式編譯變數
以下預先定義的變數可供條件式編譯使用。
變數
變數 |
說明 |
---|---|
@_win32 |
如果在 Win32 系統上執行,而且未指定 /platform 選項或已指定 /platform:anycpu 選項則為 true,否則為 NaN。 |
@_win16 |
如果在 Win16 系統上執行則為 true,否則為 NaN。 |
@_mac |
如果在 Apple Macintosh 系統上執行則為 true,否則為 NaN。 |
@_alpha |
如果在 DEC Alpha 處理器上執行則為 true,否則為 NaN。 |
@_x86 |
如果在 Intel 處理器上執行,而且未指定 /platform 選項或已指定 /platform:anycpu 選項則為 true,否則為 NaN。 |
@_mc680x0 |
如果在 Motorola 680x0 處理器上執行則為 true,否則為 NaN。 |
@_PowerPC |
如果在 Motorola PowerPC 處理器上執行則為 true,否則為 NaN。 |
@_jscript |
一定是 true。 |
@_jscript_build |
JScript 指令碼引擎的組建編號。 |
@_jscript_version |
以 major.minor 格式代表 JScript 版本的數字。 |
@_debug |
如果在偵錯模式編譯則為 true,否則為 false。 |
@_fast |
如果在快速模式編譯則為 true,否則為 false。 |
注意事項 |
---|
JScript .NET 報告的版本編號為 7.x。 JScript 8.0 報告的版本編號為 8.x。 |
使用條件式編譯變數之前,必須先開啟條件式編譯。 @cc\_on 陳述式可以開啟條件式編譯。 條件式編譯變數常用在為 Web 瀏覽器撰寫的指令碼。 在為 ASP 或 ASP.NET 網頁或命令列程式所撰寫的指令碼中,並不常使用條件式編譯變數,因為可用其他方法決定編譯器的功能。
為 Web 網頁撰寫指令碼時,一律將條件式編譯程式碼放在註解, 如此可讓不支援條件式編譯的主機忽略它。 以下是一個範例。
/*@cc_on
document.write("JScript version: " + @_jscript_version + ".<BR>");
@if (@_win32)
document.write("Running on 32-bit Windows.<BR>");
@elif (@_win16)
document.write("Running on 16-bit Windows.<BR>");
@else
document.write("Running on a different platform.<BR>");
@end
@*/
條件式編譯變數可用來判定解譯指令碼之引擎的版本資訊。 如此可讓指令碼利用 JScript 最新版的功能,而仍能保有回溯相容性 (Backward Compatibility)。 如需詳細資訊,請參閱偵測瀏覽器功能。