条件编译
使用条件编译可以使用 Jscript 语言的新特性并且与不支持该特性的老版本兼容。
用 @cc_on 语句、@if 或 @set 语句来激活条件编译。条件编译的某些典型用途包括使用 Jscript 中的新特性、在脚本中嵌入调试支持以及跟踪代码的运行。
一般将条件编译代码放在注释中,所以不能理解条件编译的宿主(如 Netscape Navigator)就忽略了条件编译。下面是一个示例。
/*@cc_on @*/
/*@if (@_jscript_version >= 4)
alert("JScript version 4 or better");
@else @*/
alert("You need a more recent script engine.");
/*@end @*/
本示例使用了特殊的注释分隔符,该分隔符只有在 @cc_on 语句激活条件编译时才使用。不支持条件编译的脚本引擎只能看到一个需要更新脚本引擎的信息。
条件编译变量
下面是条件编译可用的预定义变量。如果变量不是 true,就不被定义或者作为 NaN 处理。
变量 | 描述 |
---|---|
@_win32 | 在 Win32 系统上运行为 true。 |
@_win16 | 在 Win16 系统上运行为 true。 |
@_mac | 在 Apple Macintosh 系统上运行为 true。 |
@_alpha | 在 DEC Alpha 处理器上运行为 true。 |
@_x86 | 在 Intel 处理器上运行为 true。 |
@_mc680x0 | 在 Motorola 680x0 处理器上运行为 true。 |
@_PowerPC | 在 Motorola PowerPC 处理器上运行为 true。 |
@_jscript | 永远为 true。 |
@_jscript_build | 包含 Jscript 脚本引擎创建号。 |
@_jscript_version | 包含以 major、minor 为格式的 Jscript 版本号。 |
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
- <title>This is example!</title>
- <script language="JavaScript">
- /*@cc_on @*/
- /*@if (@_jscript_version >= 4)
- alert(@_jscript_version);
- alert("JScript version 4 or better");
- @else @*/
- alert("You need a more recent script engine.");
- /*@end @*/
- </script>
- </head>
- <body>
- </body>
- </html>