JScript中的条件注释详解-转载
这篇文章主要介绍了JScript中的条件注释详解,本文讲解了@cc_on、@if、@set、@_win32、@_win16、@_mac等条件注释语句及可用于条件编译的预定义变量,需要的朋友可以参考下
 
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
@*/

JScript中的条件注释详解(转载自网络)的更多相关文章

  1. PHP中刷新输出缓冲详解[转载]

    PHP中刷新输出缓冲详解 分类: PHP Web开发2011-07-23 17:42 1795人阅读 评论(0) 收藏 举报 phpbuffer浏览器outputapache模块脚本 buffer是一 ...

  2. tomcat中server.xml配置详解(转载)(一)

    转载自:https://www.cnblogs.com/starhu/p/5599773.html tomcat中server.xml配置详解 Tomcat Server的结构图如下:(该文件描述了如 ...

  3. IE条件注释详解

    IE条件注释是微软从IE5开始就提供的一种非标准逻辑语句,作用是可以灵活的为不同IE版本浏览器导入不同html元素,如:样式表,html标签等.很显然这种方法的最大好处就在于属于微软官方给出的兼容解决 ...

  4. IE的有条件注释详解

    IE的有条件注释是一种专有的(因此是非标准的).对常规(X)HTML注释的Miscrosoft扩展.顾名思义,有条件注释使你能够根据条件(比如浏览器版本)显示代码块.尽管是非标准的,但是有条件注释对于 ...

  5. tomcat中server.xml配置详解(转载)(二)

    转载自:https://www.cnblogs.com/starhu/p/5599773.html 一:<Connector>元素 由Connector接口定义.<Connector ...

  6. python中 datetime模块的详解(转载)

    Python提供了多个内置模块用于操作日期时间,像calendar,time,datetime.time模块我在之前的文章已经有所介绍,它提供 的接口与C标准库time.h基本一致.相比于time模块 ...

  7. tomcat中server.xml配置详解(转载)(三)

     转载自:https://www.cnblogs.com/starhu/p/5599773.html 一. <Engine>元素 每个Service元素只能有一个Engine元素.处理在同 ...

  8. JQuery中$.ajax()方法参数详解 转载

    url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址. type: 要求为String类型的参数,请求方式(post或get)默认为get.注意其他http请求方法,例如put和 ...

  9. python中yield的用法详解-转载

    原文链接:https://blog.csdn.net/mieleizhi0522/article/details/82142856 ,今天在写python爬虫的时候,循环的时候用到了yield,于是搜 ...

随机推荐

  1. SQL*Loader之CASE7

    CASE7 1. SQL脚本 case7包含两个SQL脚本,一个是删除脚本ulcase7e.sql,一个是创建脚本ulcase7s.sql [oracle@node3 ulcase]$ cat ulc ...

  2. LoRaWAN协议(六)--OTAA KEY生成过程

    前言 通过OTAA方式入网的设备,通讯时使用的KEY需要通过服务器获得,在入网之间,设备无法通讯. 相关的OTAA入网流程已经在上一章中讲解过了,有兴趣的可以去看看**LoRaWAN协议(五)__OT ...

  3. PHP上传实现进度条

    Web上传文件的三种解决方案

  4. JavaWeb:Web与HTTP协议简介

    JavaWeb:Web与HTTP协议简介 Web的概念 什么是Web: Web是网络上使用最广泛的分布式应用架构. 旨在共享分布在网络上的各个Web服务器中的所有互相连接的信息. 三个特征: 用HTM ...

  5. 百度地图JavaScript API自定义覆盖物、自定义信息窗口增删时的显示问题

    项目中,需求:在百度地图上实时画出车辆,并能点击车辆弹出信息框查看实时信息. 实现:通过不停的画覆盖物并删除掉.点击覆盖物时弹出信息窗口. 问题:删除掉覆盖物后信息窗也删除掉了.因为信息窗是建立在覆盖 ...

  6. js每天进步一点点4

    输入数字的验证

  7. 在Android中实现service动态更新UI界面

    之前曾介绍过Android的UI设计与后台线程交互,据Android API的介绍,service一般是在后台运行的,没有界面的.那么如何实现service动态更新UI界面呢?案例:通过service ...

  8. 索引深入浅出(5/10):非聚集索引的B树结构在堆表

    在“索引深入浅出:非聚集索引的B树结构在聚集表”里,我们讨论了在聚集表上的非聚集索引,这篇文章我们讨论下在堆表上的非聚集索引. 非聚集索引可以在聚集表或堆表上创建.当我们在聚集表上创建非聚集索引时,聚 ...

  9. SQL Server中的事务日志管理(9/9):监控事务日志

    当一切正常时,没有必要特别留意什么是事务日志,它是如何工作的.你只要确保每个数据库都有正确的备份.当出现问题时,事务日志的理解对于采取修正操作是重要的,尤其在需要紧急恢复数据库到指定点时.这系列文章会 ...

  10. 实现iOS图片等资源文件的热更新化(五): 一个简单完整的资源热更新页面

    简介 一个简单的关于页面,有一个图片,版本号,App名称等,着重演示各个系列的文章完整集成示例. 动机与意义 这是系列文章的最后一篇.今天抽空写下,收下尾.文章本身会在第四篇的基础上,简单扩充下代码, ...