Share via


條件式編譯變數

更新:2007 年 11 月

以下預先定義的變數可供條件式編譯使用。

變數

變數

說明

@_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)。如需詳細資訊,請參閱偵測瀏覽器功能

請參閱

概念

條件式編譯指示詞

條件式編譯陳述式

偵測瀏覽器功能

其他資源

條件式編譯