jscript 可以使用以下語句根據條件編譯變數的值控制指令碼的編譯。既可以使用 jscript 提供的變數,也可以使用 @set 指令或 /define 命令列選項定義自己的變數。
@cc_on
啟用條件編譯支援。
@if
根據表示式的值,有條件地執行一組語句。
@set
建立使用條件編譯語句的變數。
@cc_on、@if 或 @set 語句啟用條件編譯。條件編譯的一些典型用途包括在 jscript 中使用新功能、將除錯支援嵌入到乙個指令碼中以及跟蹤**執行。
當編寫由 web 瀏覽器執行的指令碼時,總是將條件編譯**放在注釋中。因此,不支援條件編譯的宿主可以忽略該**。這是乙個示例。
jscript code
/*@cc_on @此示例使用特殊的注釋分隔符,僅當 @cc_on 語句啟用條件編譯之後才使用這些分隔符。不支援條件編譯的指令碼引擎顯示一則訊息,建議需要使用新的指令碼引擎,而不會產生錯誤。支援條件編譯的引擎根據引擎的版本編譯第乙個或第二個 document.write。請注意,7.x 版表示 jscript .net。有關更多資訊,請參見檢測瀏覽器功能。*//*
@if (@_jscript_version >= 5)
document.write("jscript version 5.0 or better.
");@else @
*/document.write(
"you need a more recent script engine.");
/*@end @
*/
條件編譯對於伺服器端指令碼和命令列程式也很有用。在這些應用程式中,可使用條件編譯將其他函式編譯到乙個程式中,便於在除錯模式下進行分析。
以下預定義變數可用於條件編譯。
@_win32
如果在 win32 系統上執行,並且沒有指定 /platform 選項或指定了 /platform:anycpu 選項,則為 true;否則為 nan。
@_win16
如果在 win16 系統上執行,則為 true;否則為 nan。
@_mac
@_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 頁或命令列程式編寫的指令碼中很少使用條件編譯變數,這是因為可以使用其他方法確定編譯器的相容性。
當編寫用於網頁的指令碼時,始終將條件編譯**放在注釋中。這樣,不支援條件編譯的宿主就可以忽略該**。這是乙個示例。
jscript code
/*@cc_ondocument.write("jscript version: " + @_jscript_version + ".
"); @if (@_win32)
document.write("running on 32-bit windows.
"); @elif (@_win16)
document.write("running on 16-bit windows.
"); @else
document.write("running on a different platform.
"); @end@*/
IE條件注釋
條件注釋 conditional comment 是於 html 原始碼中被 microsoft internet explorer 有條件解釋的語句。條件注釋可被用來向 internet explorer 提供及隱藏 是乙個類似if判斷的語法注釋塊 ie5之上支援。1.有兩種 條件注釋 下層顯示 ...
CSS條件注釋
由於瀏覽器版本的不同,對css裡某些元素的解釋也不一樣,針對瀏覽器版本不同而選擇不同css的 其實我們還可以利用條件注釋的方法來達到類似的目的,什麼是條件注釋,在此簡單介紹一下,無非就是一些if判斷啦,呵呵,但這些判斷不是在指令碼裡執行的,而是直接在html 裡執行的,下面來介紹一下使用方法吧。定義...
CSS條件注釋
由於瀏覽器版本的不同,對css裡某些元素的解釋也不一樣,針對瀏覽器版本不同而選擇不同css的 其實我們還可以利用條件注釋的方法來達到類似的目的,什麼是條件注釋,在此簡單介紹一下,無非就是一些if判斷啦,呵呵,但這些判斷不是在指令碼裡執行的,而是直接在html 裡執行的,下面來介紹一下使用方法吧。定義...