标题：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 语句的两隔示例。
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 + ")";