网站地图
hnsjyk999.com
三九百科 包罗万象
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是微软的一种专门设计用于Web页面中的脚本语言。它坚持了ECMAScript标准并且主要是微软对应于Netscape早些出现并被广泛使用的JavaScript所出的一个语言。 宽松类型意味着您不必显示定义变量的数据类型。事实上 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 并不是另一种编程语言的简单版本,也不是对任何内容的简化。而是一种应用非常广泛的现代脚本语言。

与其他许多编程语言一样, Microsoft 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 + ")";


相关文章推荐:
脚本语言 | ECMAScript | Internet Explorer | 活动脚本 | Active Server Pages | 源文件 | JScript .NET | .Net | 微软 | 脚本语言 | ECMAScript | 脚本语言 | JScript 8.0 | 函数重载 | 面向对象 | 变量绑定 | 脚本语言 | 表达式 | 表达式 | 循环语句 | 斜杠 | 赋值运算符 | 运算符 | 数组元素 | 表达式 | 赋值语句 | 编译器 | 运算符 | 解释器 | 表达式 | 空值 | 数组 | 函数调用 | 表达式 | 运算符 |