词条 | JScript |
释义 | JScript是由微软公司开发的活动脚本语言,是微软对ECMAScript规范的实现。JScript最初是随Internet Explorer 3.0于1996年8月发布。在网络程序员谈论Internet Explorer中的JavaScript的时候,他们实际上是指JScript。和其他活动脚本一样,它后来也被Windows Script Host(WSH)和Active Server Pages所支持。典型的JScript源文件使用的扩展名是.js。JScript最新的版本是基于尚未定稿的ECMAScript4.0版规范的JScript .NET,并且可以在微软的.Net环境下编译。JScript在ECMA的规范上增加了许多特性。 JScript 是一种宽松类型的语言宽松类型意味着您不必显式定义变量的数据类型。事实上 JScript 更进一步。您无法在JScript上明确地定义数据类型。此外,在大多数情况下,JScript 将根据需要自动进行转换。例如,如果将一个数值添加到由文本组成的某项(一个字符串),该数值将被转换为文本。 最佳功能相结合的版本JScript 8.0 是 Microsoft 实现 ECMA 262 语言的新一代版本。通过将先前版本的 JScript 功能集与基于类的语言的最佳功能相结合,JScript 8.0 包含了这两个领域的精华。JScript 8.0 的改进内容(正在结合 ECMAScript 第 4 版开发研制)包括:真正的编译代码、类型化和无类型变量、后期和早期绑定、类(具有继承、函数重载、属性访问器,等等)、包、跨语言支持,以及对 .NET Framework 的完全访问。 新增功能JScript 8.0 是一种真正的面向对象的脚本语言。尽管 JScript 8.0 现在可以使用类、类型和其他高级语言功能来编写可靠的应用程序,但它仍然保留着其“脚本”特色,支持无类型编程、expando 函数和类、动态代码执行(使用 eval)等。 JScript 8.0 不仅是一种无类型语言,现在它还可以用作一种强类型化的语言。在先前版本中,JScript 松散的类型化结构意味着变量采用赋给它们的值的类型。实际上,在先前版本中用户不能声明变量的数据类型。JScript 8.0 允许对变量进行类型批注,这与先前版本的 JScript 相比提供了更大的灵活性。这种方法将变量绑定到某个特定的数据类型,这样该变量就只能存储这种类型的数据。 在编程语言中,强类型有许多优势。除了当所使用的数据类型恰好适合正在使用的数据时获得的益处外,还有其他几点好处: 提高执行速度 运行时/编译时类型检查 自记录代码 最后,JScript 8.0 并不是另一种编程语言的简单版本,也不是对任何内容的简化。而是一种应用非常广泛的现代脚本语言。 编写JScript代码与其他许多编程语言一样, Microsoft JScript 是用文本方式编写的,并被组织成为语句、由相关的语句集组成的块、以及注释。在一条语句内可以使用变量、比如字符串和数字(称为“文字”)的立即数、以及表达式。 JScript 程序是语句的集合语句 一条 Jscript 语句相当于英语中的一个完整句。Jscript 语句将表达式组合起来,完成一个任务。 一条语句由一个或多个表达式、关键字或者运算符(符号)组成。典型地,一条语句写一行,尽管一条语句可以超过两行或更多行。两条或更多条语句也可以写在同一行上,语句之间用分号“;”隔开。通常,每一新行开始一条新语句。不过显式地终止语句是一个好方法。这是用分号 (;)来实现的,分号是 JScript 语句的终止字符。下面给出 Jscript 语句的两隔示例。 aBird = "Robin"; //将文本“Robin”赋值给变量 aBird var today = new Date(); // 将今天的日期赋值给变量 today 用大括号({})括起来的一组 JScript 语句称为一个语句块。分组到一个语句块中的语句通常可当作单条语句处理。这就是说在 JScript 期望有一条单个语句的大多数地方可以使用语句块。应该注意以 for 和 while 打头的循环语句是例外情况。注意,语句块中的原始语句以分号结束,但语句块本身并不以分号结束。 在函数和条件语句中使用语句块通常,在函数和条件语句中使用语句块。注意,Jscript 与 C++ 以及其他某些语言不同,它不认为语句块是一个新的范围;只有函数创建新范围。在下面的示例中,第一条语句开始定义一个函数,该函数包含一个五条语句组成的语句块。语句块后的三条语句没有用大括号括起来;这些语句不是一个语句块,所以就不是函数定义的一部分。 function convert(inches) { feet = inches / 12; // 这五条语句属于一个语句块。 miles = feet / 5280; nauticalMiles = feet / 6080; cm = inches * 2.54; meters = inches / 39.37; } km = meters / 1000; // 这三条语句不在语句块内。 kradius = km; mradius = miles; 注释 单行的 JScript 注释以一对正斜杠(//)开始。下面给出一个单行注释的示例。 aGoodIdea = "Comment your code thoroughly."; // 这是一个单行注释。 多行注释以一个正斜杠加一个星号的组合(/*)开始,并以其逆向顺序 (*/)结束。 /* 这是一个用来解释前面的代码语句的多行注释。 该语句将一个值赋给 aGoodIdea 变量。 用引号包含的这种值称为一个文字。 文字显式并直接包含信息; 而不是简接地引用信息。 (引号不属于该文字的内容。) */ 注意事项如果您试图将一个多行注释插入到另一个中,JScript 不能按正常的方式解释生成的多行注释。标明嵌入的多行注释结束的 */ 被认为是整个多行注释的结尾。这就意味着嵌入多行注释之后的文本不再被认为是注释;相应地,它将被解释为 JScript 代码,并会产生语法错误。 建议将所有的注释写为单行注释的语句块。这样您以后就能够将大段的代码与多行注释区分开。 //这是另一种多行注释,写成一系列单行注释。 // 在执行完该语句后,可以使用 aGoodIdea 变量的名字来引用其内容, // 如下一条语句那样,即采用连接操作将字符串文字添加到 // aGoodIdea 变量,以创建一个新的变量。 var extendedIdea = aGoodIdea + " You never know when you'll have to figure out what it does."; 赋值和相等 JScript 语句中使用等号 (=)给变量赋值:等号是赋值运算符。= 运算符左边的操作项总是一个 Lvalue。Lvalue 可以是: 变量, 数组元素, 对象属性。 = 运算符右边的操作项总是一个 Rvalue。Rvalues 可以是任何类型的一个任意值,包括表达式的值。下面给出一个 JScript 赋值语句的示例。 anInteger = 3; Jscript 编译器解释本语句的意义为:“将 3 赋给变量 anInteger”或“anInteger 的值为 3”。 确定您理解了 = 运算符(赋值)和 == 运算符(相等)的差异。在比较两个值是否相等时,应使用两个等于号 (==)。这些内容将在 控制程序的流程 中详细介绍。 表达式 JScript 表达式是指 JScript 解释器能够计算生成值的 JScript “短语”。这个值可以是任何有效的 JScript 类型 — 数字、字符串、对象,等等。最简单的表达式是文字。下面给出 JScript 文字表达式的一些示例。 3.9 // 数字文字 "Hello!" // 字符串文字 false // 布尔文字 null // 文字空值 {x:1, y:2} // 对象文字 [1,2,3] // 数组文字 function(x){return x*x;} // 函数文字 更多复杂的表达式中包含变量、函数、函数调用以及其他表达式。可以用运算符将表达式组合,创建复合表达式。运算符可以是: + // 加法 - // 减法 * // 乘法 / // 除法 下面给出 JScript 复合表达式的一些示例。 var anExpression = 3 * (4 / 5) + 6; var aSecondExpression = Math.PI * radius * radius; var aThirdExpression = aSecondExpression + "%" + anExpression; var aFourthExpression = "(" + aSecondExpression + ") % (" + anExpression + ")"; |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。