| JScript | [语言参考](#) |
|-----|-----|
# 编写 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 + ")";
~~~
[© 2000 Microsoft Corporation 版权所有。保留所有权利。使用规定。](#)
- JScript
- JScript 用户指南
- Jscript 基础
- 什么是 JScript?
- 编写 JScript 代码
- JScript 的变量
- JScript 的数据类型
- JScript 的运算符
- 控制程序的流程
- JScript 函数
- Jscript对象
- 创建自己的对象
- 内部对象
- JScript 保留关键字
- 高级 JScript
- 创建高级对象
- 递归
- 变量范围
- 复制、传递和比较数据
- 使用数组
- 特殊字符
- 脚本问题解答
- 条件编译
- 条件编译变量
- 在浏览器中显示信息
- 使用消息框
- 语言参考
- 特性信息
- Microsoft JScript 特性 - ECMA
- Microsoft JScript 特性 - 非-ECMA
- JScript 字母顺序的关健字列表
- JScript 错误
- JScript 运行时错误
- JScript 语法错误
- JScript 函数
- GetObject 函数
- ScriptEngine 函数
- ScriptEngineBuildVersion 函数
- ScriptEngineMajorVersion 函数
- ScriptEngineMinorVersion 函数
- JScript 方法
- A-E
- abs 方法
- acos 方法
- anchor 方法
- apply 方法
- asin 方法
- atan 方法
- atan2 方法
- atEnd 方法
- big 方法
- blink 方法
- bold 方法
- call 方法
- ceil 方法
- charAt 方法
- charCodeAt 方法
- compile 方法
- concat 方法 (Array)
- concat 方法 (String)
- cos 方法
- decodeURI 方法
- decodeURIComponent 方法
- dimensions 方法
- encodeURI 方法
- encodeURIComponent 方法
- escape 方法
- eval 方法
- exec 方法
- exp 方法
- F-I
- fixed 方法
- floor 方法
- fontcolor 方法
- fontsize 方法
- fromCharCode 方法
- getDate 方法
- getDay 方法
- getFullYear 方法
- getHours 方法
- getItem 方法
- getMilliseconds 方法
- getMinutes 方法
- getMonth 方法
- getSeconds 方法
- getTime 方法
- getTimezoneOffset 方法
- getUTCDate 方法
- getUTCDay 方法
- getUTCFullYear 方法
- getUTCHours 方法
- getUTCMilliseconds 方法
- getUTCMinutes 方法
- getUTCMonth 方法
- getUTCSeconds 方法
- getVarDate 方法
- getYear 方法
- indexOf 方法
- isFinite 方法
- isNaN 方法
- italics 方法
- item 方法
- J-R
- join 方法
- lastIndexOf 方法
- lbound 方法
- link 方法
- localeCompare 方法
- log 方法
- match 方法
- max 方法
- min 方法
- moveFirst 方法
- moveNext 方法
- parse 方法
- parseFloat 方法
- parseInt 方法
- pop 方法
- pow 方法
- push 方法
- random 方法
- replace 方法
- reverse 方法
- round 方法
- S
- search 方法
- setDate 方法
- setFullYear 方法
- setHours 方法
- setMilliseconds 方法
- setMinutes 方法
- setMonth 方法
- setSeconds 方法
- setTime 方法
- setUTCDate 方法
- setUTCFullYear 方法
- setUTCHours 方法
- setUTCMilliseconds 方法
- setUTCMinutes 方法
- setUTCMonth 方法
- setUTCSeconds 方法
- setYear 方法
- shift 方法
- sin 方法
- slice 方法 (Array)
- slice 方法 (String)
- small 方法
- sort 方法
- splice 方法
- split 方法
- sqrt 方法
- strike 方法
- sub 方法
- substr 方法
- substring 方法
- sup 方法
- T-Z
- tan 方法
- test 方法
- toArray 方法
- toDateString 方法
- toExponential 方法
- toFixed 方法
- toGMTString 方法
- toLocaleDateString 方法
- toLocaleLowerCase 方法
- toLocaleString 方法
- toLocaleTimeString 方法
- toLocaleUpperCase 方法
- toLowerCase 方法
- toPrecision 方法
- toString 方法
- toTimeString 方法
- toUpperCase 方法
- toUTCString 方法
- ubound 方法
- unescape 方法
- unshift 方法
- UTC 方法
- valueOf 方法
- JScript 对象
- ActiveXObject 对象
- Array 对象
- Boolean 对象
- Date 对象
- Enumerator 对象
- Error 对象
- Function 对象
- Global 对象
- Math 对象
- Number 对象
- Object 对象
- RegExp 对象
- 正则表达式对象
- String 对象
- VBArray 对象
- JScript 运算符
- 通用信息
- 运算符优先级
- 运算符总结
- 加法赋值运算符 (+=)
- 加法运算符 (+)
- 赋值运算符 (=)
- 按位“与”赋值运算符 (&=)
- 按位“与”运算符 (&)
- 按位左移运算符 (<<)
- 按位“非”运算符 (~)
- 按位“或”赋值运算符 (|=)
- 按位“或”运算符 (|)
- 按位右移运算符 (>>)
- 按位“异或”赋值运算符 (^=)
- 按位“异或”运算符 (^)
- 逗号运算符 (,)
- 比较运算符
- 复合赋值运算符
- 条件(三目)运算符 (?:)
- delete 运算符
- 除法赋值运算符 (/=)
- 除法运算符 (/)
- in 运算符
- 递增 (++) 和递减 (--) 运算符
- instanceof 运算符
- 左移赋值运算符 (<<=)
- 逻辑“与”运算符 (&&)
- 逻辑“非”运算符 (!)
- 逻辑“或”运算符 (||)
- 取余赋值运算符 (%=)
- 取余运算符 (%)
- 乘法赋值运算符 (*=)
- 乘法运算符 (*)
- new 运算符
- 右移赋值运算符 (>>=)
- 减法赋值运算符 (-=)
- 减法运算符 (-)
- typeof 运算符
- 无符号右移运算符 (>>>)
- 无符号右移赋值操作 (>>>=)
- void 运算符
- JScript 属性
- $1...$9 属性
- arguments 属性
- caller 属性
- constructor 属性
- description 属性
- E 属性
- global 属性
- hasOwnProperty 方法
- ignoreCase 属性
- index 属性
- Infinity 属性
- input 属性($_)
- isProptotyeOf 方法
- lastIndex 属性
- length 属性 (Array)
- length 属性 (Function)
- length 属性 (String)
- LN10 属性
- LN2 属性
- LOG10E 属性
- LOG2E 属性
- MAX_VALUE 属性
- message 属性
- MIN_VALUE 属性
- multiline 属性
- name 属性
- NaN 属性
- NaN 属性 (Global)
- NEGATIVE_INFINITY 属性
- number 属性
- PI 属性
- POSITIVE_INFINITY 属性
- propertyIsEnumerable 属性
- prototype 属性
- source 属性
- SQRT1_2 属性
- SQRT2 属性
- undefined 属性
- JScript 语句
- @cc_on 语句
- @if 语句
- @set 语句
- break 语句
- Comment 语句
- continue 语句
- do...while 语句
- for 语句
- for...in 语句
- function 语句
- if...else 语句
- Labeled 语句
- return 语句
- switch 语句
- this 语句
- throw 语句
- try...catch...finally 语句
- var 语句
- while 语句
- with 语句
- FileSystemObject 用户指南
- FileSystemObject 对象模型
- FileSystemObject 和 Scripting 运行时库参考的介绍
- FileSystemObject 对象
- 设计 FileSystemObject
- 处理驱动器和文件夹
- 处理文件
- FileSystemObject 示例代码
- Scripting 运行时库参考
- 脚本运行时方法
- Add 方法 (Dictionary)
- Add 方法 (Folders)
- BuildPath 方法
- Close 方法
- Copy 方法
- CopyFile 方法
- CopyFolder 方法
- CreateFolder 方法
- CreateTextFile 方法
- Delete 方法
- DeleteFile 方法
- DeleteFolder 方法
- DriveExists 方法
- Exists 方法
- FileExists 方法
- FolderExists 方法
- GetAbsolutePathName 方法
- GetBaseName 方法
- GetDrive 方法
- GetDriveName 方法
- GetExtensionName 方法
- GetFile 方法
- GetFileName 方法
- getFileVersion 方法
- GetFolder 方法
- GetParentFolderName 方法
- GetSpecialFolder 方法
- GetTempName 方法
- Items 方法
- Keys 方法
- Move 方法
- MoveFile 方法
- MoveFolder 方法
- OpenAsTextStream 方法
- OpenTextFile 方法
- Read 方法
- ReadAll 方法
- ReadLine 方法
- Remove 方法
- RemoveAll 方法
- Skip 方法
- SkipLine 方法
- Write 方法
- WriteBlankLines 方法
- WriteLine 方法
- 脚本运行时对象
- Dictionary 对象
- Drive 对象
- Drives 集合
- File 对象
- Files 集合
- FileSystemObject 对象
- Folder 对象
- Folders 集合
- TextStream 对象
- 脚本运行时属性
- AtEndOfLine 属性
- AtEndOfStream 属性
- Attributes 属性
- AvailableSpace 属性
- Column 属性
- CompareMode 属性
- Count 属性
- DateCreated 属性
- DateLastAccessed 属性
- DateLastModified 属性
- Drive 属性
- DriveLetter 属性
- Drives 属性
- DriveType 属性
- Files 属性
- FileSystem 属性
- FreeSpace 属性
- IsReady 属性
- IsRootFolder 属性
- Item 属性
- Key 属性
- Line 属性
- Name 属性
- ParentFolder 属性
- Path 属性
- RootFolder 属性
- SerialNumber 属性
- ShareName 属性
- ShortName 属性
- ShortPath 属性
- Size 属性
- SubFolders 属性
- TotalSize 属性
- Type 属性
- VolumeName 属性
- 正则表达式简介
- 正则表达式
- 早期起源
- 使用正则表达式
- 正则表达式语法
- 建立正则表达式
- 优先权顺序
- 普通字符
- 特殊字符
- 非打印字符
- 字符匹配
- 限定符
- 定位符
- 选择和编组
- 后向引用