国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

JScript中的條件注釋詳解

2019-11-20 12:37:06
字體:
來源:轉載
供稿:網友

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

@cc_on 
 激活條件編譯支持。
 
@if 
 根據表達式的值,有條件地執行一組語句。
 
@set 
 創建使用條件編譯語句的變量。
 
@cc_on、@if 或 @set 語句激活條件編譯。條件編譯的一些典型用途包括在 JScript 中使用新功能、將調試支持嵌入到一個腳本中以及跟蹤代碼執行。

當編寫由 Web 瀏覽器運行的腳本時,總是將條件編譯代碼放在注釋中。因此,不支持條件編譯的宿主可以忽略該代碼。這是一個示例。

復制代碼 代碼如下:

/*@cc_on @*/
/*@if (@_jscript_version >= 5)
document.write("JScript Version 5.0 or better.<BR>");
@else @*/
document.write("You need a more recent script engine.<BR>");
/*@end @*/


此示例使用特殊的注釋分隔符,僅當 @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 語句可打開條件編譯。條件編譯變量通常用于針對 Web 瀏覽器編寫的腳本中。在為 ASP 或 ASP.NET 頁或命令行程序編寫的腳本中很少使用條件編譯變量,這是因為可以使用其他方法確定編譯器的兼容性。

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


復制代碼 代碼如下:

/*@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
@*/

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 清涧县| 巴楚县| 浙江省| 涞源县| 吉林市| 湖州市| 沽源县| 五莲县| 恩平市| 随州市| 武乡县| 武邑县| 华蓥市| 庆阳市| 平凉市| 渑池县| 壶关县| 镇坪县| 方正县| 枞阳县| 公主岭市| 普安县| 基隆市| 博白县| 阳城县| 绥滨县| 和顺县| 奉节县| 皮山县| 林周县| 绵阳市| 秦安县| 鸡东县| 昭平县| 东兰县| 江都市| 嘉荫县| 文成县| 扶沟县| 当阳市| 潞西市|