JScript中的條件注釋詳解_javascript技巧

來源:互聯網
上載者:User

JScript 可以使用以下語句根據條件編譯變數的值控制指令碼的編譯。既可以使用 JScript 提供的變數,也可以使用 @set 指令或 /define 命令列選項定義自己的變數。

@cc_on 
 啟用條件編譯支援。
 
@if 
 根據運算式的值,有條件地執行一組語句。
 
@set 
 建立使用條件編譯語句的變數。
 
@cc_on、@if 或 @set 語句啟用條件編譯。條件編譯的一些典型用途包括在 JScript 中使用新功能、將調試支援嵌入到一個指令碼中以及跟蹤代碼執行。

當編寫由 網頁瀏覽器啟動並執行指令碼時,總是將條件編譯代碼放在注釋中。因此,不支援條件編譯的宿主可以忽略該代碼。這是一個樣本。

複製代碼 代碼如下:


此樣本使用特殊的注釋分隔字元,僅當 @cc_on 語句啟用條件編譯之後才使用這些分隔字元。不支援條件編譯的指令碼引擎顯示一則訊息,建議需要使用新的指令碼引擎,而不會產生錯誤。支援條件編譯的引擎根據引擎的版本編譯第一個或第二個 document.write。請注意,7.x 版表示 JScript .NET。有關更多資訊,請參見檢測瀏覽器功能。

條件編譯對於伺服器端指令碼和命令列程式也很有用。在這些應用程式中,可使用條件編譯將其他函數編譯到一個程式中,便於在偵錯模式下進行分析。


以下預定義變數可用於條件編譯。

@_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 語句可開啟條件編譯。條件編譯變數通常用於針對 網頁瀏覽器編寫的指令碼中。在為 ASP 或 ASP.NET 頁或命令列程式編寫的指令碼中很少使用條件編譯變數,這是因為可以使用其他方法確定編譯器的相容性。

當編寫用於網頁的指令碼時,始終將條件編譯代碼放在注釋中。這樣,不支援條件編譯的宿主就可以忽略該代碼。這是一個樣本。


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.