JScript 运行时库参考

Microsoft(R) JScript(R)
JScript 语言参考 		JScript 教程
版本信息

特性信息

字母顺序的关键字列表

错误

函数

方法

对象

运算符

属性

语句

欢迎使用 JScript 语言参考

这些方便实用的信息将帮助您了解 JScript 的各个部分。

在“字母顺序的关键字列表”中，可以找到按字母顺序列出的所有 JScript 语言的主题。如果只需要查看某个主题（例如对象），则有对该主题进行详细说明的章节可供查阅。

如何操作呢？单击左边任意一个标题，即可显示该标题所包含的项目列表。再从该列表中选择要查看的主题。在打开所选主题后，就可以方便地链接到相关章节。

好了，现在就开始行动，赶快进去看一看把！学习一些语句、仔细研究方法、或了解一些函数。您会发现 JScript 语言的功能是多么强大！

特性 | 描述
版本信息 | JScript按宿主应用的版本列表和按版本的特性列表。
JScript 的特性 （ECMA） | JScript 目前的 ECMA 特性列表。
JScript 特性（非-ECMA） | JScript 目前的非-ECMA 特性列表。
Microsoft Scripting 运行时特性 | JScript 目前的 scripting 运行时特性列表。
语言要素 | 描述
$1...$9 属性 | 返回在模式匹配中找到的最近的九条记录。
abs 方法 | 返回一个数的绝对值。
acos 方法 | 返回一个数的反余弦。
ActiveXObject 对象 | 启用并返回一个 Automation 对象的引用。
加法运算符 （+） | 将两个数相加或连接两个字符串。
anchor 方法 | 在对象的指定文本两端加上一个带 NAME 属性的 HTML 锚点。
arguments 属性 | 返回一个包含传递给当前执行函数的每个参数的数组。
Array 对象 | 提供对创建任何数据类型的数组的支持。
asin 方法 | 返回一个数的反正弦。
赋值运算符 （=） | 将一个值赋给变量。
atan 方法 | 返回一个数的反正切。
atan2 方法 | 返回从 X 轴到点 （y, x）的角度（以弧度为单位）。
atEnd 方法 | 返回一个指示枚举算子是否处于集合结束处的 Boolean 值。
big 方法 | 在String 对象的文本两端加入 HTML 的<BIG>标识。
按位与运算符 （&） | 对两个表达式执行按位与操作。
按位左移运算符（<<） | 将一个表达式的各位向左移。
按位取非运算符 | 对一个表达式执行按位取非（求非）操作。
按位或运算符 （|） | 对两个表达式指定按位或操作。
按位右移运算符 （>>） | 将一个表达式的各位向右移，保持符号不变。
按位异或运算符（^） | 对两个表达式执行按位异或操作。
blink 方法 | 将 HTML 的 <BLINK> 标识添加到 String 对象中的文本两端。
bold 方法 | 将 HTML 的 <B> 标识添加到String 对象中的文本两端。
Boolean 对象 | 创建一个新的 Boolean 值。
break 语句 | 终止当前循环，或者如果与一个label 语句关联，则终止相关联的语句。
caller 属性 | 返回调用当前函数的函数引用。
catch 语句 | 包含在 try 语句块中的代码发生错误时执行的语句。
@cc_on 语句 | 激活条件编译支持。
ceil 方法 | 返回大于或等于其数值参数的最小整数。
charAt 方法 | 返回位于指定索引位置的字符。
charCodeAt 方法 | 返回指定字符的 Unicode 编码。
逗号运算符 （,） | 使两个表达式连续执行。
// （单行注释语句） | 使单行注释部分被 JScript 语法分析器忽略。
/*..*/ （多行注释语句） | 使多行注释部分被 JScript 语法分析器忽略。
比较运算符 | 返回一个显示比较结果的 Boolean 值。
compile 方法 | 将一个正则表达式编译为内部格式。
复合赋值运算符 | 复合赋值运算符列表。
concat 方法 （Array） | 返回一个由两个数组合并组成的新数组。
concat 方法 （String） | 返回一个包含给定的两个字符串连接的String 对象。
条件编译 | 允许使用新的 JScript 语言特性，但又不牺牲与不支持这些特性的浏览器的兼容性。
条件编译变量 | 条件编译中使用的预定义变量列表。
条件（三元）运算符 （?:） | 根据条件执行两个表达式之一。
constructor 属性 | 指定创建对象的函数。
continue 语句 | 停止循环的当前迭代，并开始一次新的迭代。
cos 方法 | 返回一个数的余弦。
数据类型转换 | 描述 JScript 中的自动数据类型转换。
Date 对象 | 提供日期和时间的基本存储和检索。
递减运算符（--） | 将变量减一。
delete 运算符 | 删除对象的属性，或删除数组中的一个元素。
description 属性 | 返回或设置关于指定错误的描述字符串。
Dictionary 对象 | 存储数据键、项目对的对象。
dimensions 方法 | 返回 VBArray 的维数。
除法运算符 （/） | 将两个数相除并返回一个数值结果。
do...while 语句 | 先执行一次语句块，然后重复执行该循环，直至条件表达式的值为 false。
E 属性 | 返回 Euler 常数，即自然对数的底。
Enumerator 对象 | 提供集合中的项的枚举。
相等运算符（==） | 比较两个表达式，看是否相等。
Error 对象 | 包含在运行 JScript 代码时发生错误信息的对象。
escape 方法 | 对 String 对象编码，以便在所有计算机上都能阅读。
eval 方法 | 对 JScript 代码求值然后执行。
exec 方法 | 在指定字符串中执行一个匹配查找。
exp 方法 | 返回 e （自然对数的底） 的幂。
FileSystemObject 对象 | 提供对计算机文件系统的访问。
fixed 方法 | 将 HTML 的<TT> 标识添加到String 对象中的文本两端。
floor 方法 | 返回小于或等于其数值参数的最大整数。
fontcolor 方法 | 将 HTML 带 COLOR 属性的 <FONT> 标识添加到 String 对象中的文本两端。
fontsize 方法 | 将 HTML 带 SIZE 属性的 <FONT> 标识添加到 String 对象中的文本两端。
for 语句 | 只要指定的条件为 true，就一直执行语句块。
for...in 语句t | 对应于对象或数组中的每个元素执行一个或多个语句。
fromCharCode 方法 | 返回 Unicode 字符值的字符串。
Function 对象 | 创建一个新的函数。
function 语句 | 声明一个新的函数。
getDate 方法 | 使用当地时间返回 Date 对象的月份日期值。
getDay 方法 | 使用当地时间返回 Date 对象的星期几。
getFullYear 方法 | 使用当地时间返回 Date 对象的年份。
getHours 方法 | 使用当地时间返回 Date 对象的小时值。
getItem 方法 | 返回指定位置的项。
getMilliseconds 方法 | 使用当地时间返回 Date 对象的毫秒值。
getMinutes 方法 | 使用当地时间返回 Date 对象的分钟值。
getMonth 方法 | 使用当地时间返回 Date 对象的月份。
GetObject 函数 | 返回文件中的 Automation 对象的引用。
getSeconds 方法 | 使用当地时间返回 Date 对象的秒数。
getTime 方法 | 返回 Date 对象中的时间值。
getTimezoneOffset 方法 | 返回主机的时间和全球标准时间（UTC）之间的差（以分钟为单位）。
getUTCDate 方法 | 使用全球标准时间（UTC）返回 Date 对象的日期值。
getUTCDay 方法 | 使用全球标准时间（UTC）返回 Date 对象的星期几的值。
getUTCFullYear 方法 | 使用全球标准时间（UTC）返回 Date 对象的年份。
getUTCHours 方法 | 使用全球标准时间（UTC）返回Date 对象的小时数。
getUTCMilliseconds 方法 | 使用全球标准时间（UTC）返回Date 对象的毫秒数。
getUTCMinutes 方法 | 使用全球标准时间（UTC）返回 Date 对象的分钟数。
getUTCMonth 方法 | 使用全球标准时间（UTC）返回 Date 对象的月份值。
getUTCSeconds 方法 | 使用全球标准时间 （UTC） 返回 Date 对象的秒数。
getVarDate 方法 | 返回 Date 对象中的 VT_DATE。
getYear 方法 | 返回 Date 对象中的年份。
Global 对象 | 是一个固有对象，目的是将全局方法集中在一个对象中。
大于运算符（>） | 比较两个表达式，看一个是否大于另一个。
大于相等运算符（>=） | 比较两个表达式，看一个是否大于等于另一个。
恒等运算符 （===） | 比较两个表达式，看是否值相等并具有相同的数据类型。
@if 语句 | 根据表达式的值，有条件地执行一组语句。
if...else 语句 | 根据表达式的值，有条件地执行一组语句。
递增运算符（++） | 给变量加一。
index 属性 | 返回在字符串中找到的第一个成功匹配的字符位置。
indexOf 方法 | 返回在 String 对象中第一次出现子字符串的字符位置。
不相等运算符 （!=） | 比较两个表达式，看是否不相等。
Infinity 属性 | 返回 Number.POSITIVE_INFINITY 的初始值。
input 属性 | 返回进行查找的字符串。
instanceof 运算符 | 返回一个 Boolean 值，表明某个对象是否为特定类的一个实例。
isFinite 方法 | 返回一个 Boolean 值，表明某个给定的数是否是有穷的。
isNaN 方法 | 返回一个 Boolean 值，表明某个值是否为保留值 NaN（不是一个数）。
italics 方法 | 将 HTML的 <I> 标识添加到 String 对象中的文本两端。
item 方法 | 返回集合中的当前项。
join 方法 | 返回一个由数组中的所有元素连接在一起的 String 对象。
Labeled 语句 | 给语句提供一个标识符。
lastIndex 属性 | 返回在字符串中找到的最后一个成功匹配的字符位置。
lastIndexOf 方法 | 返回在 String 对象中最后出现子字符串的位置。
lbound 方法 | 返回在 VBArray 中指定维数所用的最小索引值。
length 属性 （Array） | 返回比数组中所定义的最高元素大 1 的整数值 。
length 属性 （Function） | 返回为函数所定义的参数个数。
length 属性 （String） | 返回 String 对象的长度。
小于运算符 （<） | 比较两个表达式，看是否一个小于另一个。
小于相等运算符 （<=） | 比较两个表达式，看是否一个小于等于另一个。
link 方法 | 将带 HREF 属性的 HTML 锚点添加到 String 对象中的文本两端。
LN2 属性 | 返回 2 的自然对数。
LN10 属性 | 返回 10 的自然对数。
log 方法 | 返回某个数的自然对数。
LOG2E 属性 | 返回以 2 为底的 e（即 Euler 常数）的对数。
LOG10E 属性 | 返回以 10 为底的e（即 Euler 常数）的对数。
逻辑与运算符 （&&） | 对两个表达式执行逻辑与操作。
逻辑非运算符（!） | 对表达式执行逻辑非操作。
逻辑或运算符 （||） | 对两个表达式执行逻辑或操作。
match 方法 | 使用给定的正则表达式对象对字符串进行查找，并将结果作为数组返回。
Math 对象 | 一个固有对象，提供基本的数学函数和常数。
max 方法 | 返回给定的两个表达式中的较大者。
MAX_VALUE 属性 | 返回在 JScript中能表示的最大值。
min 方法 | 返回给定的两个数中的较小者。
MIN_VALUE 属性 | 返回在 JScript中能表示的最接近零的值。
取模运算符 （%） | 将两个数相除，并返回余数。
moveFirst 方法 | 将集合中的当前项设置为第一项。
moveNext 方法 | 将当前项设置为集合中的下一项。
乘法运算符 （*） | 将两个数相乘。
NaN 属性 （Global） | 返回特殊值 NaN，表示某个表达式不是一个数。
NaN 属性 （Number） | 返回特殊值 （NaN），表示某个表达式不是一个数。
NEGATIVE_INFINITY 属性 | 返回比在 JScript 中能表示的最大的负数 （Number.MAX_VALUE）更小的值。
new 运算符 | 创建一个新对象。
不恒等运算符 （!==） | 比较两个表达式，看是否具有不相等的值或数据类型不同。
Number 对象 | 表示数值数据类型和提供数值常数的对象。
number 属性 | 返回或设置与特定错误关联的数值。
Object 对象 | 提供所有的 JScript 对象的公共功能。
运算符优先级 | 包含 JScript 运算符的执行优先级信息的列表。
parse 方法 | 对包含日期的字符串进行分析，并返回该日期与1970年1月1日零点之间相差的毫秒数。
parseFloat 方法 | 返回从字符串转换而来的浮点数。
parseInt 方法 | 返回从字符串转换而来的整数。
PI 属性 | 返回圆周与其直径的比值，约等于3.141592653589793。
POSITIVE_INFINITY 属性 | 返回比在 JScript 中能表示的最大的数 （-Number.MAX_VALUE）更大的值。
pow 方法 | 返回一个指定幂次的底表达式的值。
prototype 属性 | 返回对象类的原型引用。
random 方法 | 返回一个 0 和 1 之间的伪随机数。
RegExp 对象 | 存储有关正则表达式模式查找的信息。
正则表达式对象 | 包含一个正则表达式模式。
正则表达式语法 | 在写正则表达式模式时可以使用的特殊字符和序列的列表。
replace 方法 | 返回根据正则表达式进行文字替换后的字符串的拷贝。
return 语句 | 从当前函数退出并从该函数返回一个值。
reverse 方法 | 返回一个元素反序的 Array 对象。
round 方法 | 将一个指定的数值表达式舍入到最近的整数值。
运行时错误 | JScript运行时错误列表。
ScriptEngine 函数 | 返回一个代表所使用的脚本语言的字符串。
ScriptEngineBuildVersion 函数 | 返回所使用的脚本引擎的编译版本号。
ScriptEngineMajorVersion 函数 | 返回所使用的脚本引擎的主版本号。
ScriptEngineMinorVersion 函数 | 返回所使用的脚本引擎的次版本号。
search 方法 | 返回与正则表达式查找内容匹配的第一个子字符串的位置。
@set 语句 | 创建用于条件编译语句的变量。
setDate 方法 | 使用当地时间设置 Date 对象的数值日期。
setFullYear 方法 | 使用当地时间设置 Date 对象的年份。
setHours 方法 | 使用当地时间设置 Date对象的小时值。
setMilliseconds 方法 | 使用当地时间设置 Date 对象的毫秒值。
setMinutes 方法 | 使用当地时间设置 Date 对象的分钟值。
setMonth 方法 | 使用当地时间设置 Date 对象的月份。
setSeconds 方法 | 使用当地时间设置 Date 对象的秒值。
setTime 方法 | 设置 Date 对象的日期和时间。
setUTCDate 方法 | 使用全球标准时间（UTC）设置 Date对象的数值日期。
setUTCFullYear 方法 | 使用全球标准时间（UTC）设置 Date 对象的年份。
setUTCHours 方法 | 使用全球标准时间（UTC）设置 Date 对象的小时值。
setUTCMilliseconds 方法 | 使用全球标准时间（UTC）设置 Date 对象的毫秒值。
setUTCMinutes 方法 | 使用全球标准时间（UTC）设置 Date 对象的分钟值。
setUTCMonth 方法 | 使用全球标准时间（UTC）设置 Date 对象的月份。
setUTCSeconds 方法 | 使用全球标准时间（UTC）设置 Date 对象的秒值。
setYear 方法 | 使用 Date 对象的年份。
sin 方法 | 返回一个数的正弦。
slice 方法 （Array） | 返回数组的一个片段。
slice 方法 （String） | 返回字符串的一个片段。
small 方法 | 将 HTML 的<SMALL> 标识添加到 String 对象中的文本两端。
sort 方法 | 返回一个元素被排序了的 Array 对象。
source 属性 | 返回正则表达式模式的文本的复制。
split 方法 | 将一个字符串分割为子字符串，然后将结果作为字符串数组返回。
sqrt 方法 | 返回一个数的平方根。
SQRT1_2 属性 | 返回 0.5 的平方根，即 1 除以 2 的平方根。
SQRT2 属性 | 返回 2 的平方根。
strike 方法 | 将 HTML 的<STRIKE> 标识添加到 String 对象中的文本两端。
String 对象 | 提供对文本字符串的操作和格式处理，判定在字符串中是否存在某个子字符串并确定其位置。
sub 方法 | 将 HTML 的 <SUB> 标识放置到 String 对象中的文本两端。
substr 方法 | 返回一个从指定位置开始并具有指定长度的子字符串。
substring 方法 | 返回位于 String 对象中指定位置的子字符串。
减法运算符 （-） | 对两个表达式执行减法操作。
sup 方法 | 将 HTML 的 <SUP> 标识放置到 String 对象中的文本两端。
switch 语句 | 当指定的表达式的值与某个标签匹配时，即执行相应的一个或多个语句。
语法错误 | JScript运行时错误列表
tan 方法 | 返回一个数的正切。
test 方法 | 返回一个 Boolean 值，表明在被查找的字符串中是否存在某个模式。
this 语句 | 对当前对象的引用。
throw 语句 | 产生一个可由 try...catch 语句处理的错误条件。
toArray 方法 | 返回一个从 VBArray 转换而来的标准 JScript 数组。
toGMTString 方法 | 返回一个转换为使用格林威治标准时间（GMT）的日期。
toLocaleString 方法 | 返回一个转换为使用当地时间的日期。
toLowerCase 方法 | 返回一个字符串，该字符串中所有字母被转换为小写字母。
toString 方法 | 返回一个对象的字符串表示。
toUpperCase 方法 | 返回一个字符串，该字符串中所有字母都被转换为大写字母。
toUTCString 方法 | 返回一个转换为使用全球标准时间（UTC）的日期。
try 语句 | 实现 JScript 的错误处理。
typeof 运算符 | 返回一个表示表达式的数据类型的字符串。
ubound 方法 | 返回在 VBArray 的指定维中所使用的最大索引值。
一元取相反数运算符（-） | 表示一个数值表达式的相反数。
unescape 方法 | 对用escape 方法编码的 String 对象进行解码。
无符号右移运算符 （>>>） | 在表达式中对各位进行无符号右移。
UTC 方法 | 返回 1970年1月1日零点的全球标准时间 （UTC） （或 GMT）与指定日期之间的毫秒数。
valueOf 方法 | 返回指定对象的原始值。
var 语句 | 声明一个变量。
VBArray 对象 | 提供对 Visual Basic 安全数组的访问。
void 运算符 | 避免一个表达式返回值。
while 语句 | 执行语句直至给定的条件为 false。
with 语句 | 确定一个语句的默认对象。
语言要素 | 描述
GetObject 函数 | 返回文件中的 Automation 对象的引用。
ScriptEngine 函数 | 返回代表所使用的脚本语言的字符串。
ScriptEngineBuildVersion 函数 | 返回所使用的脚本引擎的编译版本号。
ScriptEngineMajorVersion 函数 | 返回所使用的脚本引擎的主版本号。
ScriptEngineMinorVersion 函数 | 返回所使用的脚本引擎的次版本号。
语言要素 | 描述
abs 方法 | 返回一个数的绝对值。
acos 方法 | 返回一个数的反余弦。
anchor 方法 | 在对象的指定文本两端加上一个带 NAME 属性的 HTML 锚点。
asin 方法 | 返回一个数的反正弦。
atan 方法 | 返回一个数的反正切。
atan2 方法 | 返回从 X 轴到点 （y, x）的角度（以弧度为单位）。
atEnd 方法 | 返回一个表明枚举算子是否处于集合结束处的 Boolean 值。
big 方法 | 在String 对象的文本两端加入 HTML 的<BIG>标识。
blink 方法 | 将 HTML 的 <BLINK> 标识添加到 String 对象中的文本两端。
bold 方法 | 将 HTML 的 <B> 标识添加到String 对象中的文本两端。
ceil 方法 | 返回大于或等于其数值参数的最小整数。
charAt 方法 | 返回位于指定索引位置的字符。
charCodeAt 方法 | 返回指定字符的 Unicode 编码。
compile 方法 | 将一个正则表达式编译为内部格式。
concat 方法（Array） | 返回一个由两个数组合并组成的新数组。
concat 方法（String） | 返回一个包含给定的两个字符串的连接的 String 对象。
cos 方法 | 返回一个数的余弦。
dimensions 方法 | 返回 VBArray 的维数。
escape 方法 | 对 String 对象编码，以便在所有计算机上都能阅读。
eval 方法 | 对 JScript 代码求值然后执行之。
exec 方法 | 在指定字符串中执行一个匹配查找。
exp 方法 | 返回 e （自然对数的底） 的幂。
fixed 方法 | 将 HTML 的<TT> 标识添加到String 对象中的文本两端。
floor 方法 | 返回小于或等于其数值参数的最大整数。
fontcolor 方法 | 将 HTML 带 COLOR 属性的<FONT>标识添加到 String 对象中的文本两端。
fontsize 方法 | 将 HTML 带 SIZE 属性的<FONT>标识添加到 String 对象中的文本两端。
fromCharCode 方法 | 返回 Unicode 字符值的字符串。
getDate 方法 | 使用当地时间返回 Date 对象的月份日期值。
getDay 方法 | 使用当地时间返回 Date 对象的星期几。
getFullYear 方法 | 使用当地时间返回 Date 对象的年份。
getHours 方法 | 使用当地时间返回 Date 对象的小时值。
getItem 方法 | 返回位于指定位置的项。
getMilliseconds 方法 | 使用当地时间返回 Date 对象的毫秒值。
getMinutes 方法 | 使用当地时间返回 Date 对象的分钟值。
getMonth 方法 | 使用当地时间返回 Date 对象的月份。
getSeconds 方法 | 使用当地时间返回 Date 对象的秒数。
getTime 方法 | 返回 Date 对象中的时间。
getTimezoneOffset 方法 | 返回主机的时间和全球标准时间（UTC）之间的差（以分钟为单位）。
getUTCDate 方法 | 使用全球标准时间（UTC）返回 Date 对象的日期值。
getUTCDay 方法 | 使用全球标准时间（UTC）返回 Date 对象的星期几。
getUTCFullYear 方法 | 使用全球标准时间（UTC）返回 Date 对象的年份。
getUTCHours 方法 | 使用全球标准时间（UTC）返回Date 对象的小时数。
getUTCMilliseconds 方法 | 使用全球标准时间（UTC）返回Date 对象的毫秒数。
getUTCMinutes 方法 | 使用全球标准时间（UTC）返回 Date 对象的分钟数。
getUTCMonth 方法 | 使用全球标准时间（UTC）返回 Date 对象的月份值。
getUTCSeconds 方法 | 使用全球标准时间（UTC）返回Date对象的秒数。
getVarDate 方法 | 返回 Date 对象中的 VT_DATE。
getYear 方法 | 返回 Date 对象中的年份。
indexOf 方法 | 返回在 String 对象中第一次出现子字符串的字符位置。
isFinite 方法 | 返回一个 Boolean 值，表明某个给定的数是否是有穷的。
isNaN 方法 | 返回一个 Boolean 值，表明某个值是否为保留值 NaN （不是一个数）。
italics 方法 | 将 HTML的 <I> 标识添加到 String 对象中的文本两端。
item 方法 | 返回集合中的当前项。
join 方法 | 返回一个由数组中的所有元素连接在一起的 String 对象。
lastIndexOf 方法 | 返回在 String 对象中子字符串最后出现的位置。
lbound 方法 | 返回在 VBArray 中指定维数所用的最小索引值。
link 方法 | 将带 HREF 属性的 HTML 锚点添加到 String 对象中的文本两端。
log 方法 | 返回某个数的自然对数。
match 方法 | 使用给定的正则表达式对象对字符串进行查找，并将结果作为数组返回。
max 方法 | 返回给定的两个表达式中的较大者。
min 方法 | 返回给定的两个数中的较小者。
moveFirst 方法 | 将集合中的当前项设置为第一项。
moveNext 方法 | 将当前项设置为集合中的下一项。
parse 方法 | 对包含日期的字符串进行分析，并返回该日期与1970年1月1日零点之间相差的毫秒数。
parseFloat 方法 | 返回从字符串转换而来的浮点数。
parseInt 方法 | 返回从字符串转换而来的整数。
pow 方法 | 返回一个指定幂次的底表达式的值。
random 方法 | 返回一个 0 和 1 之间的伪随机数。
replace 方法 | 返回根据正则表达式进行文字替换后的字符串的拷贝。
reverse 方法 | 返回一个元素反序的 Array 对象。
round 方法 | 将一个指定的数值表达式舍入到最近的整数并将其返回。
search 方法 | 返回与正则表达式查找内容匹配的第一个子字符串的位置。
setDate 方法 | 使用当地时间设置 Date 对象的数值日期。
setFullYear 方法 | 使用当地时间设置 Date 对象的年份。
setHours 方法 | 使用当地时间设置 Date 对象的小时值。
setMilliseconds 方法 | 使用当地时间设置 Date 对象的毫秒值。
setMinutes 方法 | 使用当地时间设置 Date 对象的分钟值。
setMonth 方法 | 使用当地时间设置 Date 对象的月份。
setSeconds 方法 | 使用当地时间设置 Date 对象的秒值。
setTime 方法 | 设置 Date 对象的日期和时间。
setUTCDate 方法 | 使用全球标准时间（UTC）设置 Date 对象的数值日期。
setUTCFullYear 方法 | 使用全球标准时间（UTC）设置 Date 对象的年份。
setUTCHours 方法 | 使用全球标准时间（UTC）设置 Date 对象的小时值。
setUTCMilliseconds 方法 | 使用全球标准时间（UTC）设置 Date 对象的毫秒值。
setUTCMinutes 方法 | 使用全球标准时间（UTC）设置 Date 对象的分钟值。
setUTCMonth 方法 | 使用全球标准时间（UTC）设置 Date 对象的月份。
setUTCSeconds 方法 | 使用全球标准时间（UTC）设置 Date 对象的秒值。
setYear 方法 | 使用 Date 对象的年份。
sin 方法 | 返回一个数的正弦。
slice 方法 （Array） | 返回数组的一个片段。
slice 方法 （String） | 返回字符串的一个片段。
small 方法 | 将 HTML 的<SMALL> 标识添加到 String 对象中的文本两端。
sort 方法 | 返回一个元素被排序了的 Array 对象。
split 方法 | 将一个字符串分割为子字符串，然后将结果作为字符串数组返回。
sqrt 方法 | 返回一个数的平方根。
strike 方法 | 将 HTML 的<STRIKE> 标识添加到String 对象中的文本两端。
sub 方法 | 将 HTML 的 <SUB> 标识放置到 String 对象中的文本两端。
substr 方法 | 返回一个从指定位置开始并具有指定长度的子字符串。
substring 方法 | 返回位于 String 对象中指定位置的子字符串。
sup 方法 | 将 HTML 的 <SUP> 标识放置到 String 对象中的文本两端。
tan 方法 | 返回一个数的正切。
test 方法 | 返回一个 Boolean 值，表明在被查找的字符串中是否存在某个模式。
toArray 方法 | 返回一个从 VBArray 转换而来的标准 JScript 数组。
toGMTString 方法 | 返回一个转换为使用格林威治标准时间（GMT）的字符串的日期。
toLocaleString 方法 | 返回一个转换为使用当地时间的字符串的日期。
toLowerCase 方法 | 返回一个所有的字母字符都被转换为小写字母的字符串。
toString 方法 | 返回一个对象的字符串表示。
toUpperCase 方法 | 返回一个所有的字母字符都被转换为大写字母的字符串。
toUTCString 方法 | 返回一个转换为使用全球标准时间（UTC）的字符串的日期。
ubound 方法 | 返回在 VBArray 的指定维中所使用的最大索引值。
unescape 方法 | 对用escape 方法编码的 String 对象进行解码。
UTC 方法 | 返回 1970年1月1日零点的全球标准时间 （UTC） （或 GMT）与指定日期之间的毫秒数.
valueOf 方法 | 返回指定对象的原始值。
语言要素 | 描述
ActiveXObject 对象 | 启用并返回一个 Automation 对象的引用。
Array 对象 | 提供对创建任何数据类型的数组的支持。
Boolean 对象 | 创建一个新的 Boolean 值。
Date 对象 | 提供日期和时间的基本存储和检索。
Dictionary 对象 | 存储数据键、项对的对象。
Enumerator 对象 | 提供集合中的项的枚举。
Error 对象 | 包含在运行 JScript 代码时发生的错误的有关信息。
FileSystemObject 对象 | 提供对计算机文件系统的访问。
Function 对象 | 创建一个新的函数。
Global 对象 | 是一个内部对象，目的是将全局方法集中在一个对象中。
Math 对象 | 一个内部对象，提供基本的数学函数和常数。
Number 对象 | 表示数值数据类型和提供数值常数的对象。
Object 对象 | 提供所有的 JScript 对象的公共功能。
RegExp 对象 | 存储有关正则表达式模式查找的信息。
正则表达式对象 | 包含一个正则表达式模式。
String 对象 | 提供对文本字符串的操作和格式处理，判定在字符串中是否存在某个子字符串及确定其位置。
VBArray 对象 | 提供对 Visual Basic 安全数组的访问。
语言要素 | 描述
加法运算符 （+） | 将两个数相加或连接两个字符串。
赋值运算符 （=） | 将一个值赋给变量。
按位与运算符 （&） | 对两个表达式执行按位与操作。
按位左移运算符（<<） | 将一个表达式的各位向左移。
按位取非运算符 （~） | 对一个表达式执行按位取非（求非）操作。
按位或运算符 （|） | 对两个表达式指定按位或操作。
按位右移运算符 （>>） | 将一个表达式的各位向右移，保持符号不变。
按位异或运算符 （^） | 对两个表达式执行按位异或操作。
逗号运算符 （,） | 使两个表达式连续执行。
比较运算符 | 返回 Boolean 值，表示比较结果。
复合赋值运算符 | 复合赋值运算符列表。
条件（三元）运算符（?:） | 根据条件执行两个表达式之一。
递减运算符 （--） | 将变量减一。
delete 运算符 | 删除对象的属性，或删除数组中的一个元素。.
除法运算符（/） | 将两个数相除并返回一个数值结果。
相等运算符（==） | 比较两个表达式，看是否相等。
大于运算符（>） | 比较两个表达式，看一个是否大于另一个。
大于相等运算符 （>=） | 比较两个表达式，看一个是否大于等于另一个。
恒等运算符 （===） | 比较两个表达式，看是否值相等并具有相同的数据类型。
递增运算符（++） | 给变量加一。
不相等运算符 （!=） | 比较两个表达式，看是否不相等。
instanceof 运算符 | 返回一个 Boolean 值，表明某个对象是否为特定类的一个实例。
小于运算符（<） | 比较两个表达式，看是否一个小于另一个。
小于相等运算符 （<=） | 比较两个表达式，看是否一个小于等于另一个。
逻辑与运算符 （&&） | 对两个表达式执行逻辑与操作。
逻辑非运算符 （!） | 对表达式执行逻辑非操作。
逻辑或运算符 （||） | 对两个表达式执行逻辑或操作。
取模运算符。 （%） | 将两个数相除，并返回余数。
乘法运算符 （*） | 将两个数相乘。
new 运算符 | 创建一个新对象。
不恒等运算符 （!==） | 比较两个表达式，看是否具有不相等的值或数据类型不同。
运算符优先级 | 包含 JScript 运算符的执行优先级信息的列表。
减法运算符 （-） | 对两个表达式执行减法操作。
typeof 运算符 | 返回一个表示表达式的数据类型的字符串。
一元取相反数运算符（-） | 表示一个数值表达式的相反数。
无符号右移运算符 （>>>） | 在表达式中对各位进行无符号右移。
void 运算符 | 避免一个表达式返回值。
语言要素 | 描述
$1...$9 属性 | 返回在模式匹配中找到的最近的九条记录
arguments 属性 | 返回一个包含传递给当前执行函数的每个参数的数组。
caller 属性 | 返回调用当前函数的函数引用。
constructor 属性 | 指定创建对象的函数。
description 属性 | 返回或设置关于指定错误的描述字符串。
E 属性 | 返回 Euler 常数，即自然对数的底。
index 属性 | 返回在字符串中找到的第一个成功匹配的字符位置。
Infinity 属性 | 返回 Number.POSITIVE_INFINITY 的初始值。
input 属性 | 返回进行查找的字符串。
lastIndex 属性 | 返回在字符串中找到的最后一个成功匹配的字符位置。
length 属性（Array） | 返回比数组中所定义的最高元素大 1 的一个整数。
length 属性（Function） | 返回为函数所定义的参数个数。
length 属性（String） | 返回 String 对象的长度。
LN2 属性 | 返回 2 的自然对数。
LN10 属性 | 返回 10 的自然对数。
LOG2E 属性 | 返回以 2 为底的 e（即 Euler常数）的对数。
LOG10E 属性 | 返回以 10 为底的e（即 Euler常数）的对数。
MAX_VALUE 属性 | 返回在 JScript中能表示的最大值。
MIN_VALUE 属性 | 返回在 JScript中能表示的最接近零的值。
NaN 属性（Global） | 返回特殊值 NaN，表示某个表达式不是一个数。
NaN 属性 （Number） | 返回特殊值 （NaN），表示某个表达式不是一个数。
NEGATIVE_INFINITY 属性 | 返回比在 JScript 中能表示的最大的负数 （-Number.MAX_VALUE）更负的值。
number 属性 | 返回或设置与特定错误关联的数值。
PI 属性 | 返回圆周与其直径的比值，约等于3.141592653589793。
POSITIVE_INFINITY 属性 | 返回比在 JScript 中能表示的最大的数 （Number.MAX_VALUE）更大的值。
prototype 属性 | 返回对象类的原型引用。
source 属性 | 返回正则表达式模式的文本的拷贝。
SQRT1_2 属性 | 返回 0.5 的平方根，即 1 除以 2 的平方根。
SQRT2 属性 | 返回 2 的平方根。
语言元素 | 描述
break 语句 | 终止当前循环，或者如果与一个label 语句关联，则终止相关联的语句。
catch 语句 | 包含在 try 语句块中的代码发生错误时执行的语句。
@cc_on 语句 | 激活条件编译支持。
//（单行注释语句） | 使单行注释被 JScript 语法分析器忽略。
/*..*/（多行注释语句） | 使多行注释被 JScript 语法分析器忽略。
continue 语句 | 停止循环的当前迭代，并开始一次新的迭代。
do...while 语句 | 先执行一次语句块，然后重复执行该循环，直至条件表达式的值为 false。
for 语句 | 只要指定的条件为 true，就一直执行语句块。
for...in 语句 | 对应于对象或数组中的每个元素执行一个或多个语句。
function 语句 | 声明一个新的函数。
@if 语句 | 根据表达式的值，有条件地执行一组语句。
if...else 语句 | 根据表达式的值，有条件地执行一组语句。
Labeled 语句 | 给语句提供一个标识符。
return 语句 | 从当前函数退出并从该函数返回一个值。
@set 语句 | 创建用于条件编译语句的变量。
switch 语句 | 当指定的表达式的值与某个标签匹配时，即执行相应的一个或多个语句。
this 语句 | 对当前对象的引用。
throw 语句 | 产生一个可由 try...catch 语句处理的错误条件。
try 语句 | 实现 JScript 的错误处理。
var 语句 | 声明一个变量。
while 语句 | 执行语句直至给定的条件为 false。
with 语句 | 确定一个语句的默认对象。
语言要素 | 描述
运行时错误 | JScript运行时错误列表
语法错误 | JScript语法错误列表

(C)2000 Microsoft Corporation. All rights reserved.


特性信息

特性信息 		JScript 语言参考
版本信息

JScript 特性 - ECMA
JScript 特性 - 非-ECMA
Microsoft Scripting 运行时特性


按字母顺序排列的关键字列表

按字母顺序排列的关键字列表 		JScript 语言参考
版本信息

$1...$9 属性
abs 方法
acos 方法
ActiveXObject 对象
加法运算符 (+)
anchor 方法
arguments 属性
Array 对象
asin 方法
赋值运算符 (=)
atan 方法
atan2 方法
atEnd 方法
big 方法
按位 AND 运算符 (&)
按位左移运算符 (<<)
按位 NOT 运算符 (~)
按位 OR 运算符 (|)
按位右移运算符 (>>)
按位 XOR 运算符 (^)
blink 方法
bold 方法
Boolean 对象
break 语句
caller 属性
catch 语句
@cc_on 语句
ceil 方法
charAt 方法
charCodeAt 方法
Comma 运算符 (,)
// (单行注释语句)
/*..*/ (多行注释语句)
比较运算符
compile 方法
复合赋值运算符
concat 方法 (Array)
concat 方法 (String)
条件编译
条件编译变量
条件 (trinary) 运算符 (?:)
constructor 属性
continue 语句
cos 方法
数据类型转换
Date 对象
递减运算符 (--)
delete 运算符
Description 属性
Dictionary 对象
dimensions 方法
除法运算符 (/)
do...while 语句
E 属性
Enumerator 对象
相等运算符 (==)
Error 对象
escape 方法
eval 方法
exec 方法
exp 方法
FileSystemObject 对象
fixed 方法
floor 方法
fontcolor 方法
fontsize 方法
for 语句
for...in 语句
fromCharCode 方法
Function 对象
Function 语句
getDate 方法
getDay 方法
getFullYear 方法
getHours 方法
getItem 方法
getMilliseconds 方法
getMinutes 方法
getMonth 方法
GetObject 函数
getSeconds 方法
getTime 方法
getTimezoneOffset 方法
getUTCDate 方法
getUTCDay 方法
getUTCFullYear 方法
getUTCHours 方法
getUTCMilliseconds 方法
getUTCMinutes 方法
getUTCMonth 方法
getUTCSeconds 方法
getVarDate 方法
getYear 方法
Global 对象
大于运算符 (>)
大于或相等运算符 (>=)
Identity 运算符 (===)
@if 语句
if...else 语句
Increment 运算符 (++)
index 属性
indexOf 方法
不等运算符 (!=)
Infinity 属性
input 属性
instanceof 运算符
isFinite 方法
isNaN 方法
italics 方法
item 方法
join 方法
Labeled 语句
lastIndex 属性
lastIndexOf 方法
lbound 方法
length 属性 (Array)
length 属性 (Function)
length 属性 (String)
小于运算符 (<)
小于或相等运算符 (<=)
link 方法
LN2 属性
LN10 属性
log 方法
LOG2E 属性
LOG10E 属性
逻辑 AND 运算符 (&&)
逻辑 NOT 运算符 (!)
逻辑 OR 运算符 (||)
match 方法
Math 对象
max 方法
MAX_VALUE 属性
min 方法
MIN_VALUE 属性
Modulus 运算符 (%)
moveFirst 方法
moveNext 方法
乘法运算符 (*)
NaN 属性 (Global)
NaN 属性 (Number)
NEGATIVE_INFINITY 属性
new 运算符
不恒等运算符 (!==)
Number 对象
number 属性
Object 对象
运算符的优先级
parse 方法
parseFloat 方法
parseInt 方法
PI 属性
POSITIVE_INFINITY 属性
pow 方法
prototype 属性
random 方法
RegExp 对象
正则表达式对象
正则表达式语法
replace 方法
return 语句
reverse 方法
round 方法
ScriptEngine 函数
ScriptEngineBuildVersion 函数
ScriptEngineMajorVersion 函数
ScriptEngineMinorVersion 函数
search 方法
@set 语句
setDate 方法
setFullYear 方法
setHours 方法
setMilliseconds 方法
setMinutes 方法
setMonth 方法
setSeconds 方法
setTime 方法
setUTCDate 方法
setUTCFullYear 方法
setUTCHours 方法
setUTCMilliseconds 方法
setUTCMinutes 方法
setUTCMonth 方法
setUTCSeconds 方法
setYear 方法
sin 方法
slice 方法 (Array)
slice 方法 (String)
small 方法
sort 方法
source 属性
split 方法
sqrt 方法
SQRT1_2 属性
SQRT2 属性
strike 方法
String 对象
sub 方法
substr 方法
substring 方法
减法运算符 (-)
sup 方法
switch 语句
tan 方法
test 方法
this 语句
throw 语句
toArray 方法
toGMTString 方法
toLocaleString 方法
toLowerCase 方法
toString 方法
toUpperCase 方法
toUTCString 方法
try 语句
typeof 运算符
ubound 方法
Unary Negation 运算符 (-)
unescape 方法
无符号右移运算符 >>>)
UTC 方法
valueOf 方法
var 语句
VBArray 对象
void 运算符
while 语句
with 语句


JScript 错误

JScript 错误 		JScript 语言参考
版本信息

运行时错误
语法错误


函数

函数 		JScript 语言参考
版本信息

GetObject 函数
ScriptEngine 函数
ScriptEngineBuildVersion 函数
ScriptEngineMajorVersion 函数
ScriptEngineMinorVersion 函数


方法

方法 		JScript 语言参考
版本信息

abs 方法
acos 方法
anchor 方法
asin 方法
atan 方法
atan2 方法
AtEnd 方法
big 方法
blink 方法
bold 方法
ceil 方法
charAt 方法
charCodeAt 方法
compile 方法
concat 方法（数组）
concat 方法（字符串）
cos 方法
dimensions 方法
escape 方法
eval 方法
exec 方法
exp 方法
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 方法
join 方法
lastIndexOf 方法
lbound 方法
link 方法
log 方法
match 方法
max 方法
min 方法
moveFirst 方法
moveNext 方法
parse 方法
parseFloat 方法
parseInt 方法
pow 方法
random 方法
replace 方法
reverse 方法
round 方法
search 方法
setDate 方法
setFullYear 方法
setHours 方法
setMilliseconds 方法
setMinutes 方法
setMonth 方法
setSeconds 方法
setTime 方法
setUTCDate 方法
setUTCFullYear 方法
setUTCHours 方法
setUTCMilliseconds 方法
setUTCMinutes 方法
setUTCMonth 方法
setUTCSeconds 方法
setYear 方法
sin 方法
slice 方法（数组）
slice 方法（字符串）
small 方法
sort 方法
split 方法
sqrt 方法
strike 方法
sub 方法
substr 方法
substring 方法
sup 方法
tan 方法
test 方法
toArray 方法
toGMTString 方法
toLocaleString 方法
toLowerCase 方法
toString 方法
toUpperCase 方法
toUTCString 方法
ubound 方法
unescape 方法
UTC 方法
valueOf 方法


对象

对象 		JScript 语言参考
版本信息

ActiveXObject 对象
Array 对象
Boolean 对象
Date 对象
Dictionary 对象
Enumerator 对象
Error 对象
FileSystemObject 对象
Function 对象
Global 对象
Math 对象
Number 对象
Object 对象
RegExp 对象
正则表达式对象
String 对象
VBArray 对象


运算符

运算符 		JScript 语言参考
版本信息

加法运算符 (+)
赋值运算符 (=)
按位“与”运算符 (&)
按位“左移”运算符 (<<)
按位“非”运算符 (~)
按位“或”运算符 (|)
位右移运算符 (>>)
按位“异或”运算符 (^)
逗号运算符 (,)
比较运算符
复合赋值运算符
条件（三元）运算符 (?:)
递减运算符 (--)
delete 运算符
除法运算符 (/)
相等运算符 (==)
大于运算符 (>)
大于相等运算符 (>=)
恒等运算符 (===)
递增运算符 (++)
不相等运算符 (!=)
运算符优先级
instanceof 运算符
小于运算符(<)
小于相等运算符 (<=)
逻辑“与”运算符 (&&)
逻辑“非”运算符 (!)
逻辑“或”运算符 (||)
取模运算符 (%)
乘法运算符 (*)
new 运算符
不恒等 (!==)
减法运算符 (-)
typeof 运算符
Unary 负号运算符 (-)
无符号“右移”运算符 (>>>)
void 运算符


属性

属性 		JScript 语言参考
版本信息

$1...$9 属性
arguments 属性
caller 属性
constructor 属性
description 属性
E 属性
index 属性
Infinity 属性
input 属性
lastIndex 属性 (RegExp)
length 属性（数组）
length 属性（函数）
length 属性（字符串）
LN2 属性
LN10 属性
LOG2E 属性
LOG10E 属性
MAX_VALUE 属性
MIN_VALUE 属性
Nan 属性（全局）
NaN 属性（数字）
NEGATIVE_INFINITY 属性
number 属性
PI 属性
POSITIVE_INFINITY 属性
prototype 属性
source 属性
SQRT1_2 属性
SQRT2 属性


语句

语句 		JScript 语言参考
版本信息

break 语句
catch 语句
@cc_on 语句
Comment 语句
continue 语句
do...while 语句
for 语句
for...in 语句
function 语句
@if 语句
if...else 语句
Labeled 语句
return 语句
@set 语句
switch 语句
this 语句
throw 语句
try 语句
var 语句
while 语句
with 语句


JScript 教程

JScript 教程
 JScript 语言参考

什么是 JScript ？
JScript 基础教程
JScript 高级教程
在 Internet Explorer 中使用 JScript


什么是 JScript？

什么是 JScript？
 JScript 教程
下一页

JScript 是 Microsoft 公司对 ECMA 262 语言规范的一种实现。JScript 完全实现了该语言规范，并且提供了一些利用 Microsoft Internet Explorer 的功能的增强特性。本教程的目的就是引导您学习使用 JScript。
易学易用
JScript 是一种解释型的、基于对象的脚本语言。尽管与诸如 C++ 和 Java 这样成熟的面向对象的语言相比，JScript 的功能要弱一些，但对于它的预期用途而言，JScript 的功能已经足够大了。

JScript 不是任何其他语言的精简版（例如，它只是与 Java 有点模糊而间接的关系），也不是任何事物的简化。不过，它有其局限性。例如，您不能使用该语言来编写独立运行的应用程序，并且该语言读写文件的功能也很少。此外，JScript 脚本只能在某个解释器上运行，该解释器可以是 Web 服务器，也可以是 Web 浏览器。

JScript 是一种宽松类型的语言。这意味着您不必显式定义变量的数据类型。事实上您无法在JScriot上明确地定义数据类型。此外，在大多数情况下，JScript 将根据需要自动进行转换。例如，如果试图将一个数值添加到由文本组成的某项（一个字符串），该数值将被转换为文本。

本教程的其余部分是 JScript 特性概述。有关该语言实现的全部细节，请参考 语言参考。

注意 本教程大多数示例的代码比实际 Web 页中的代码应该更明确，并且不是太复杂。大多数示例都相当简单。其目的是阐明相关概念，而不是提供最优的简短编码和风格。在任何情况下，如果六个月以后您还能毫不费力地阅读和理解所编写的代码，则说明这些代码写得不错。


编写 JScript 代码

编写 JScript 代码
 JScript 教程
上一页
下一页

与其他许多编程语言一样， Microsoft JScript 是用文本方式编写的，并被组织成为语句、由相关的语句集组成的块、以及注释。在一条语句内可以使用变量、比如字符串和数字的立即数、以及表达式。
语句
JScript 的代码语句由一行中的一个或多个项和符号组成。每行开始一条新的语句，不过显式地终止语句是一个好方法。可以用分号 (;)来实现，分号是 JScript 的终止字符。
aBird = "Robin";
var today = new Date();
用大括号括起来的一组 JScript 语句称为一个语句块。例如，在函数和条件语句中常使用语句块。

在下面的示例中，第一条语句是一个函数定义的开始，该定义由一个五条语句的语句块组成。最后三条语句没有用大括号围起来，因此不是语句块，也不是该函数定义的一部分。

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 变量。用引号包含的这种值称为一个文字。文字显式并直接包含信息；而不是简接地引用信息。（引号不属于该文字的内容。）
*/

//  这是另一种多行注释，写成一系列单行注释。
//  在执行完该语句后，可以使用 aGoodIdea 变量的名字来引用其内容，
//  如下一条语句那样，即采用连接操作将字符串文字添加到
//  aGoodIdea 变量，以创建一个新的变量。

var extendedIdea = aGoodIdea + " You never know when you'll have to figure out what it does.";
赋值和等式
JScript 中使用等于号 (=)来表示赋值操作。也就是说，JScript 代码语句可以写成
anInteger = 3;
这表示“将 3 赋给变量 anInteger”或“anInteger 的值为 3”。在比较两个值是否相等时，应使用一对等于号 (==)。这些内容将在 控制程序的流程 中详细介绍。
表达式
JScript 表达式是指那些可以作为 Boolean 或 数值表达式 的部分。表达式包括 "+" 这种类似的符号字符，而不是类似于“与...相加”这样的词汇。任何值、变量、运算符、以及表达式的合法组合都可以构成一个表达式。
var anExpression = "3 * (4 / 5)";
var aSecondExpression = "Math.PI * radius * 2";
var aThirdExpression = aSecondExpression + "%" + anExpression;
var aFourthExpression = "(" + aSecondExpression + ") % (" + anExpression + ")";


JScript 的变量

JScript 的变量
JScript 教程
上一页
下一页

在 Microsoft JScript 中变量用来存放脚本中的值。这是一个使用名称来检索和操作值的方式。如果能有效地使用变量，能有助于理解脚本所做的工作。
变量声明
尽管不是必须的，但在使用变量之前先进行声明是一种好的习惯。可以使用 var 语句来进行变量声明。只有当要在函数中声明一个局部变量时，才必须使用 var 语句。所谓局部变量就是那些只在函数内有效的变量。在其他任何时候，推荐方法是在使用之前先用 var 语句来声明变量。

下面是变量声明的代码示例：

var mim = "A man, a plan, a canal, Panama!";  	// mim 中存储的值是 string 类型。
                    // 引号中的这句话就是赋给 mim 的值，为字符串文字。

var ror = 3;        				// ror 中存储的值为 numeric 类型。
var nen = true;       			// nen 中存储的值为 Boolean 类型。
var fif = 2.718281828       			// fif 中存储的值为 numeric 类型。
变量命名
JScript 是一种区分大小写的语言，因此将一个变量命名为 myCounter 和将其命名为 mYCounter 是不一样的。 另外，变量的名称其长度可以任意，但必须遵循若干规则：
  • 第一个字符必须是一个字母（大小写均可）、或一个下划线(_)或一个美元符 ($)。
  • 后续的字符可以是字母、数字、下划线或美元符。
  • 变量名称不能是 保留字。
合法的变量名称示例：
  • _pagecount
  • Part9
  • Number_Items
一些无效的变量名称：
  • 99Balloons // 以数字开头。
  • Smith&Wesson // & 对变量名而言不是一个合法的字符。
如果要声明一个变量并进行初始化，但又不指定任何特殊值，可以将其指定为一个专用值 null。
var zaz = null;
var notalot = 3 * zaz;        // 此时 notalot 为 0。
如果声明了一个变量但没有对其赋值，该变量存在，且为 undefined 类型。
var godot;
var waitingFor = 1 * godot;  // 由于 godot 为 undefined 类型，因此 waitingFor 的值为 NaN。
如果直接对变量赋值，就隐式地声明了一个变量（即不使用 var）。不过，不能在根本没有声明的情况下就使用一个变量。这样做将导致运行时产生错误。
lel = "";  	// 变量 lel 已隐式声明。

var aMess = vyv + zez;	// 产生一个错误，因为 vyv 和 zez 不存在。
强制转换
由于 JScript 是一种自由类型的语言，JScript 中的变量在技术上没有固定的类型。不过，它们具有与其包含的值的类型等价的类型。在某些环境下可能将变量的自动转换（或强制转换）或数据的一部分强制为别的类型。Number 类型易于被包括在字符串中，但字符串不能直接包含到数值中，为此提供了显式的转换函数 parseInt() 和 parseFloat()。
var theFrom = 1;
var theTo = 10;
var doWhat = "Count from ";
doWhat += theFrom + " to " + theTo + ".";
执行该代码后，doWhat 变量的值为 "Count from 1 to 10." 其中的数字数据被强制为字符串格式。
var nowWhat = 0;
nowWhat += 1 + "10";  	// 在本例中，由于 "10" 是一个字符串，
            // "+=" 运算符其连接作用。
执行该代码后，nowWhat 变量的值为 "0110"。执行下述步骤可获得该结果：
  1. 查看 1 和 "10" 的类型。"10" 为一个字符串，1 为数值类型，因此该数被强制为一个字符串。
  2. 由于 + 运算符两边的值都是字符串，因此执行字符串连接操作。其结果为 "110"
  3. 查看 += 两边的值的类型。 nowWhat 包含一个数，而 "110" 是字符串，因此将数转换为一个字符串。
  4. 由于现在 += 运算符两边都是字符串，因此执行字符串连接操作。其结果为"0110"。
  5. 将结果存放到 nowWhat。
var nowThen = 0;
nowThen += 1 + parseInt("10");        // 在本例中 "+=" 执行加法。
执行该代码后，nowThen 变量包含整数 11。


JScript 的数据类型

JScript 的数据类型
 JScript 教程
上一页
下一页

JScript 的数据类型有哪些？
Microsoft JScript 有六种数据类型。主要的类型有 number、string、object 以及 Boolean 类型。其他两种类型为 null 和 undefined。
.
String 数据类型
字符串是用单引号或双引号来说明的。（使用单引号来输入包含引号的字符串。）一个字符串也是 JScript 中的一个对象，不过是个特殊情形，有专门的属性。下面是字符串的示例：
"The cow jumped over the moon."
'"Avast, ye lubbers!" roared the technician.'
"42"
字符串可以包括零个或多个统一编码的字符。如果包含零个字符，则成为零长度字符串 ("")。
数值数据类型
JScript 支持整数和浮点数。整数可以为正数、0 或者负数；浮点数可以包含小数点、也可以包含一个 "e"（大小写均可，在科学记数法中表示“10的幂”）、或者同时包含这两项。这些数遵循数值表示的 IEEE 754 标准。最后，还有一些特殊的数值：
  • NaN，即不是一个数
  • 正无穷
  • 负无穷
  • 正数 0
  • 负数 0
整数可以以 10 （十进制）、8 （八进制）和 16 （十六进制）作为基数来表示。

八进制整数用一个前导 "0" 指明，并可以包含从 0 到 7 的数字。如果某个数字有一个前导 "0" 但是又包含数字 "8"和/或 "9"，则该数字是一个十进制数。如果一个应该为八进制的数中包含了字母 "e" (或 "E") 将会产生一个错误。

十六进制("hex") 整数用前导 "0x" 指明（其中的 "X" 大小写均可），并且可以包含从 0 到 9 的数字以及从 A 到 F 的字符（字母的大小写均可）。字母 "e" 在十六进制记数法中是一个允许的数字，但并不是表示这是一个指数。字母 A 到 F 是作为单个的数字，用来表示以 10 为基数的 10 到 15 这些数。也就是说，0xF 等于 15，而 0x10 就等于 16。

八进制数和十六进制数可以是负数，但不能是小数。一个以单个 "0" 开头并包含一个小数点的数是一个十进制的浮点数；如果一个数以 "0x" 或 "00"开头并包含一个小数点，则该小数点右边的任何数都将被忽略。

一些示例：

.0001, 0.0001, 1e-4, 1.0e-4  // 四个浮点数，它们互等。
3.45e2                       // 一个浮点数，等于 345。
42                           // 一个整数。
0377                         // 一个八进制整数，等于255。
00.0001                      // 由于八进制数不能有小数部分，因此这个数等于 0。
0378                         // 一个整数，等于 378。
0Xff                         // 一个十六进制整数，等于 255。
0x37CF                       // 一个十六进制整数，等于 14287。
0x3e7                        // 一个十六进制整数，等于 999。
0x3.45e2                     // 由于十六进制数不能有小数部分，因此这个数等于 3。
Boolean 类型
可能的 Boolean 值有 true 和 false。这是两个特殊值，不能用作 1 和 0。

注意 在比较中，任何等于 0 的表达式被视为 false，而任何不等于 0 的语句都被视为 true。对下面的表达式求值将得到 true：

(false == 0)

有关比较的详细信息，请参阅控制程序的流程。

Undefined 数据类型
一个为 undefined 的值就是指在变量被创建后，但未给该变量赋值以前所具有的值。
Null 数据类型
null 值就是没有任何值，什么也不表示。


JScript 的运算符

JScript 的运算符 		JScript 教程
上一页
下一页

JScript 具有全范围的运算符,包括算术、逻辑、位以及赋值运算符。此外还有其他一些运算符。

计算 | 逻辑 | 位运算 | 赋值 | 杂项
描述 | 符号 | 描述 | 符号 | 描述 | 符号 | 描述 | 符号 | 描述 | 符号
负值 - 逻辑非 ! 按位取反 ~ 赋值 = 删除 delete
递增 ++ 小于 < 按位左移 << 运算赋值 oP= typeof 运算符 typeof
递减 -- 大于 > 按位右移 >> void 运算符 void
乘法 * 小于等于 <= 无符号右移 >>>
除法 / 大于等于 >= 按位与 &
取模运算 % 等于 == 按位异或 ^
加法 + 不等于 != 按位或 |
减法 - 逻辑与 &&
逻辑或 ||
条件（三元运算符） ?:
逗号 ,
恒等 ===
不恒等 !==

运算符优先极
JScript 中的运算符是按照一个特定的顺序来求值的。这个顺序就是运算符的优先级。下表按从最高到最低的优先级列出了这些运算符。处于同一行中的运算符按从左至右的顺序求值。

运算符 | 描述
. [] () 字段访问、数组下标以及函数调用
++ -- - ~ ! typeof new void delete | 一元运算符、返回数据类型、对象创建、未定义值
* / % 乘法、除法、取模
+ - + 加法、减法、字符串连接
<< >> >>> 移位
< <= > >= 小于、小于等于、大于、大于等于
== != === !== 等于、不等于、恒等、不恒等
& 按位与
^ 按位异或
| 按位或
&& 逻辑与
|| 逻辑或
?: 条件
= oP= | 赋值、运算赋值
, 多重求值

圆括号可用来改变求值顺序。圆括号中的表达式应在其用于语句的其余部分之前全部被求值。

具有较高优先级的运算符将在具有较低优先级的运算符之前被求值。例如：

z = 78 * (96 + 3 + 45)
在该表达式中有五个运算符： =, *, (), +, 以及 +。根据优先级，它们将按下面的顺序求值： (), *, +, +, =。
  1. 首先对圆括号内的表达式求值：其中有两个加法运算符，它们具有相同的优先级：96 和 3 相加，然后再将它们的和与 45 相加，得到的结果为 144。
  2. 然后是乘法运算： 78 和 144 相乘，得到结果为 11232。
  3. 最后是赋值运算：将 11232 赋给 z。


控制程序的流程

控制程序的流程
JScript 教程
上一页
下一页

为什么要控制执行流程？
经常需要脚本在不同的条件下完成不同的事情。例如，您可以编写一个每小时检查时间的脚本，并在这一天中适当地更改某些参数。您也可以编写一个可以接收某种输入并采取相应操作的脚本。或者可以编写一个重复指定操作的脚本。

您可以测试若干种条件。Microsoft JScript 中所有的条件测试结果都是 Boolean 值，因此任何测试的结果是 true 或 false。您可以自由地测试 Boolean 类型、数值类型或字符串类型的值。

JScript 提供了用于各种可能性的控制结构。最简单的控制结构是条件语句。

使用条件语句
JScript 支持 if 和 if...else 条件语句。在 if 语句中将测试一个条件，如果该条件满足测试，就将执行所编写的 JScript 编码。（在 if...else 语句中，如果条件不满足测试，则将执行不同的代码。）最简单的 if 语句格式可以在一行中写完，不过更常见的是多行的 if 和 if...else 语句。

下述示例演示了使用 if 和 if...else 语句的各种可能的语法。第一个示例演示了最简单的 Boolean 测试。当（且仅当）括号之间的项的值为 true 时，if 后续的语句或语句块才会被执行。

// smash() 函数是在该代码的其他地方定义的。
if (newShip)
   smash(champagneBottle,bow);  // Boolean 测试，看 newShip 是否为真。

// 在本示例中，除非两个条件都为真，否则该测试将不会被满足。
if (rind.color == "deep yellow " && rind.texture == "large and small wrinkles")
{
        theResponse = ("Is it a Crenshaw melon? <br> ");
}

// 在本示例中，只要任何一个条件为真，则测试即会满足。
var theReaction = "";
if ((lbsWeight > 15) || (lbsWeight > 45))
{
    theReaction = ("Oh, what a cute kitty! <br>");
}
else
    theReaction = ("That's one huge cat you've got there! <br>");
条件运算符
JScript 也支持隐式的条件格式。该格式在要测试的条件后使用一个问号（而不是在条件前的 if ），并指定两个可选项，一个在满足条件时使用，另一个在条件不满足时使用。两个选择项之间用一个冒号隔开。
var hours = "";

// 下面的代码指定 hours 是包含 theHour 的内容，
// 还是包含 theHour - 12 的内容。

hours += (theHour >= 12) ? " PM" : " AM";

提示 如果要一起测试多个条件，并且知道某个条件比其他条件更可能满足或不满足测试，（根据这些测试是用 OR (||) 还是 AND (&&) 连接的，可以通过将该条件放在条件语句的最前面来加速脚本的执行。例如，如果三个条件都必须为真（使用 && 运算符），并且第二个测试失败，则第三个条件不会被测试。

类似地，如果多个条件中只要有一个为真（使用 || 运算符），则当任何一个条件满足该测试时测试则停止。如果要测试的条件包括函数调用或其他代码，这种处理方式就特别有效。

快速判别的副作用的一个示例是：在下例中如果 runfirst() 返回 0 或 false， 则 runsecond 不会被执行。

if ((runfirst() == 0) || (runsecond() == 0))
// 若干代码
使用重复或循环
有多种方式来重复执行一条语句或语句块。通常重复执行被称为 循环。 典型情况是用某个变量测试来进行控制，每执行一次循环变量的取值都会更改。 Microsoft JScript 支持很多种循环： for 循环、 for...in 循环、 while 循环、 do...while 循环和 switch 循环。
使用 for 循环
for 语句指定了一个计数器变量，一个测试条件，以及更新该计数器的操作。在每次执行循环之前（这称为一遍循环或一次重复），都将测试该条件。在执行该循环后，计算机变量将在下一次循环之前被更新。

如果循环条件永不会满足，则根本不会执行该循环。如果测试条件始终满足，则将导致无限循环。在有些情况下，前者可能是合乎需要的，而后者几乎没有用处，因此在编写循环条件时一定要小心。

/*
更新表达式 （下例中的 "icount++"）将在循环结束时被执行，即在构成循环主体的语句块被执行后，在测试条件之前。
*/

var howFar = 11;  // 将循环次数限制为 11。

var sum = new Array(howFar);  // 创建一个称为 sum 并具有 11 个成员的数组，这 11 个成员从 0 到 10。
var theSum = 0;
sum[0] = 0;

for(var icount = 1; icount < howFar; icount++)  {        // 在本例中将从 1 到 10 进行计数。
theSum += icount;
sum[icount] = theSum;
}

var newSum = 0;
for(var icount = 1; icount > howFar; icount++)  {        // 该循环根本不会被执行。
newSum += icount;
}

var sum = 0;
for(var icount = 1; icount > 0; icount++)  {        // 这是一个无限循环。
sum += icount;
}
使用 for...in 循环
JScript 提供了一种特别的循环方式来遍历一个对象的所有属性。 for...in 循环中的循环计数器将遍历数组中的所有索引。它是一个字符串，而不是数字。
for (j in tagliatelleVerde)  // tagliatelleVerde 是一个有多个属性的对象
{
// 各种 JScript 代码语句。
}
使用 while 循环
while 循环与 for 循环非常相似。其不同之处是 while 循环没有内置的计数器或更新表达式。如果已经有由变量赋值反映的变化条件，并且希望使用该条件来控制语句或语句块的循环执行，就可以使用while 循环。
var theMoments = "";
var theCount = 42;        // 初始化计数器变量。
while (theCount >= 1)  {
    if (theCount > 1)  {
        theMoments = "Only " + theCount + " moments left!";
}
    else  {
        theMoments = "Only one moment left!";
    }
theCount--;        // 更新计数器变量。
}
theMoments = "BLASTOFF!";

注意 由于 while 循环没有显式的内置计数器变量，因此比其他类型更容易产生无限循环。此外，部分原因是不易发现循环条件是在何时何地被更新的，因此很容易编写了一个实际上从不更新条件的 while 循环。在编写 while 循环时应特别小心。

使用 break 和 continue 语句
Microsoft JScript 提供了一个语句来停止执行循环。break 语句可以用来在某些（特别）条件被满足时停止执行循环。continue 语句可以用来立即跳至下一次循环，即跳过余下的代码块并更新计数器变量，如 for 或 for...in 循环一样。
var theComment = "";
var theRemainder = 0;
var theEscape = 3;
var checkMe = 27;
for (kcount = 1; kcount <= 10; kcount++)
{
    theRemainder = checkMe % kcount;
    if (theRemainder == theEscape)
      {
            break;  // 第一次遇到 remainder 等于 escape 时就从循环退出。
}
theComment = checkMe + " divided by " + kcount + " leaves a remainder of  " + theRemainder;
}

for (kcount = 1; kcount <= 10; kcount++)
{
   theRemainder = checkMe % kcount;
   if (theRemainder != theEscape)

   {
      continue;  // 只选择那些等于 escape 的 remainders，忽略其它。
}
// 使用选中的 remainders 的 JScript 代码。
}

var theMoments = "";
var theCount = 42;  // 初始化计数器。
while (theCount >= 1)  {
// if (theCount < 10)  {  // 警告！
// 这里使用 continue 将导致一个无限循环！。
// continue;
// }
    if (theCount > 1)  {
        theMoments = "Only " + theCount + " moments left!";
}
    else  {
        theMoments = "Only one moment left!";
    }
theCount--;  // 更新计数器。
}
theCount = "BLASTOFF!";


JScript 的函数

JScript 的函数
 JScript 教程
上一页
下一页

什么是函数？
Microsoft JScript 的函数执行各种操作。函数还可以返回结果。有时是计算或比较的结果。

函数将若干操作合并在一个名字下。这样就可以简化代码。可以编写一组语句为其命名，然后通过调用该语句组并给其传递所需的任何信息，根据需要随时执行整个语句组。

给函数传递信息的方式是在函数名后用圆括号将信息括起来。要传递给某个函数的信息的各部分被称为参数。有些函数不需要任何参数；有些函数可能要带一个参数；有些可能有多个。甚至有一些函数的参数个数取决于使用该函数的方式。

JScript 支持两种函数：即在语言中内置的函数，以及自己创建的函数。

特殊的内置函数
JScript 语言中包括若干内置的函数。有些可以用来处理表达式和特殊字符，以及将字符串转换为数值。

例如，escape() 和 unescape() 用来转换 HTML 代码中具有特殊意义的字符、不能直接输入到文字的字符。例如，尖括号 "<" 和 ">"，描述了 HTML 标识。

escape 函数将任何特殊字符作为其参数，并返回代表该字符的转义码。每个转义码由两个数字以及后跟的一个百分号 (%) 组成。unescape 函数就是对应的逆函数。它的参数为由两个数字和一个百分号组成的字符串，并返回一个字符。

另一个有用的内置函数是 eval()，该函数对用字符串形式表示的任何合法数学表达式求值。eval() 函数有一个参数，即要求值的表达式。

var anExpression = "6 * 9 % 7";
var total = eval(anExpression);        // 将 5 赋给变量 total。
var yetAnotherExpression = "6 * (9 % 7)";
total = eval(yetAnotherExpression)        // 将 12 赋给变量 total。

var totality = eval("...surrounded by acres of clams.");        // 产生一个错误。
有关这些以及其他内置函数的详细信息，请参阅 语言参考。
创建自己的函数
可以创建自己的函数并在需要的地方使用。一个函数定义由一个 function 语句和一个 JScript 语句块组成。

下面示例中的 checkTriplet 函数将三角形的边长作为其参数，然后通过检查这三个数是否能组成一个 Pythagorean （毕达哥拉斯）三元组（直角三角形斜边长的平方等于其它两条边长的平方和。），从而计算出该三角形是否为直角三角形。 checkTriplet 函数调用另两个函数中的其中一个来进行实际测试。

请注意使用了非常小的数 (“epsilon”) 作为该测试的浮点数版本的一个测试变量。因为浮点数计算不精确和存在舍入误差，因此直接判断斜边的平方是否等于另两边的平方和是不实际的，除非已知该问题中的三个值都是整数。由于直接测试更精确，因此该示例中的代码先判断这个数是否适当，如果是，再使用。

var epsilon = 0.0000000000001;  // 用于测试的非常小的数。
var triplet = false;

function integerCheck(a, b, c)  {  // 适用于整数的检验函数。
    if ( (a*a) == ((b*b) + (c*c)) )  {  // 具体的检验代码。
    triplet = true;
    }
}  // 整数判别函数结束。

function floatCheck(a, b, c)  {  // 适用于浮点数的检验函数。
var theCheck = ((a*a) - ((b*b) + (c*c)))  // 求检验数。
    if (theCheck < 0)  {  // 判别需要使用绝对值，如果 theCheck 为负数，先转为相应的正数。
    theCheck *= -1;
    }
    if (epsilon > theCheck)  {  // 如果足够接近非常小值，则可以认为满足条件！
    triplet = true;
    }
}  // 浮点数判别函数结束。

function checkTriplet(a, b, c)  {  // 三元组判别函数。首先将最长边设为 "a"。
var d = 0;  // 创建一个临时存放变量。
    if (c > b)  {  // 如果 c 大于 b，两者进行交换。
    d = c;
    c = b;
    b = d;
    }  // 否则无需操作。
    if (b > a)  {  // 如果 b 大于 a，两者进行交换。
    d = b;
    b = a;
    a = d;
    }  // 否则无需操作。

// 如果是直角三角形，则 "a" 边现在就是斜边。

    if (((a%1) == 0) && ((b%1) == 0) && ((c%1) == 0))  {  // 测试所有 3 个值是否均为整数？
    integerCheck(a, b, c);  // 如果是，则使用精确判别。
    }
    else
        floatCheck(a, b, c);  // 如果不是，则求最可能的结果。
}  // 三元组判别函数结束。

// 下面三条语句指定示例值，以进行测试。
var sideA = 5;
var sideB = 5;
var sideC = Math.sqrt(50);

checkTriplet(sideA, sideB, sideC);  // 调用该函数。在调用后， triplet 即包含了结果。


JScript 的对象

JScript 的对象
 JScript 教程
上一页
下一页

什么是对象？
在 Microsoft JScript 中，对象本质上就是属性和方法的集合。方法是作为某个对象成员的函数，属性是作为对象成员的一个值或一组值（数组或对象的形式）。JScript 支持三种对象：固有对象、创建自己的对象以及浏览器对象，后者将在其他地方介绍。
对象也是数组
在 JScript 中，对象和数组是一样处理的。可以按名称（使用对象名称，后跟一个圆点和属性的名称）来引用一个对象的任何成员（属性和方法）, 也可以按其数组下标索引来引用。JScript 中下标的是从 0 开始编号的，也可以用其名称来引用下标。

因此可以用多种方式来引用一个属性。下面所有语句都是等价的。

theWidth = spaghetti.width;
theWidth = spaghetti[3];  // [3] 是 "width" 的索引。
theWidth = spaghetti["width"];
虽然可以使用方括号按其数字索引来引用一个属性，但不能使用圆点 (.) 带索引号。下面的语句将产生一个错误。
theWidth = spaghetti.3;
当一个对象中的某个属性是另一个对象时，可以直接扩展这种命名约定。
var init4 = toDoToday.shoppingList[3].substring(0,1);  // 数组 shoppingList 是 toDoToday 的一个属性。
对象包含其他对象作为其属性的这种情况可以产生具有多个下标的数组，虽然并不直接支持多重数组。下面的代码创建了一个从 0 乘 0 到 16 乘 16 的乘法表。
var multTable = new Array(17);  		// 产生乘法表的外壳。
for (var j = 0; j < multTable.length; j++)  { 	// 准备用行进行填充。
    var aRow = new Array(17);  			// 创建一行。
    for (var i = 0; i < aRow.length; i++)  { 	// 准备填充这一行。
    aRow[i] = (i + " times " + j + " = " + i*j); 	// 计算并存储值。
    }
multTable[j] = aRow;  // 将已填充的行放入表中。
}
要引用这种数组中的一个元素，可以使用多重方括号。
var multiply3x7 = multTable[3][7];
下面的语句将产生一个错误。
var multiply3x7 = multTable[3, 7];


JScript 的保留关键字

JScript 的保留关键字
 JScript 教程
上一页
下一页

JScript 有许多保留关键字。这些关键字可分为三种类型：JScript 保留关键字、将来的保留字和应避免的单词。

JScript 关键字
break | false | in | this | void
continue | for | new | true | while
delete | function | null | typeof | with
else | if | return | var

JScript 将来的关键字
case | debugger | export | super
catch | default | extends | switch
class | do | finally | throw
const | enum | import | try

要避免的单词是那些已经用作 JScript 的内部对象或函数的名称的字。例如 string 或 parseInt 等单词均属此列。

使用前两类中的任何关键字都会在第一次载入脚本时导致编译错误。如果使用第三类中的保留字，则当您试图在同一个脚本中使用其作为变量，同时又要使用其原来的实体时，可能会出现奇怪的问题。例如，下面的脚本不会完全按照您所想的那样被执行：

var String;
var text = new String("This is a string object");
在本例中，您将得到一个错误，称 String 不是一个对象。不过很多使用已有标识符的例子并没有这么明显。


递归

递归
 JScript 教程
上一页
下一页

递归是一种重要的编程技术。该方法用于让一个函数从其内部调用其自身。一个信手可得的示例就是计算阶乘。0 和 1 的阶乘都被特别地定义为 1。 更大数的阶乘是通过计算 1 * 2 * ...来求得的，每次增加 1，直至达到要计算其阶乘的那个数。

下面的段落是用文字定义的计算阶乘的一个函数。

“如果这个数小于零，则拒绝接收。如果不是一个整数，则将其向下舍入为相邻的整数。如果这个数为 0 或 1，则其阶乘为 1。如果这个数大于 1，则将其与相邻较小的数的阶乘相乘。”

要计算任何大于 1 的数的阶乘，至少需要计算一个其他数的阶乘。用来实现这个功能的函数就是已经位于其中的函数；该函数在执行当前的这个数之前，必须调用它本身来计算相邻的较小数的阶乘。这就是一个递归示例。

显然，这样有可能会出现问题。可以很容易地创建一个递归函数，但该函数不能得到一个确定的结果，并且不能达到一个终点。这样的递归将导致计算机执行一个“无限”循环。下面就是一个示例：在计算阶乘的文字描述中遗漏了第一条规则（对负数的处理） ，并试图计算任何负数的阶乘。这将导致失败，因为按顺序计算 -24 的阶乘时，首先不得不计算 -25 的阶乘；然而这样又不得不计算 -26 的阶乘；如此继续。很明显，这样永远也不会到达一个终止点。

因此在设计递归函数时应特别仔细。如果怀疑其中存在着无限递归的可能，则可以让该函数记录它调用自身的次数。如果该函数调用自身的次数太多，即使您已决定了它应调用多少次，就自动退出。

下面仍然是阶乘函数，这次是用 JScript 代码编写的。

function factorial(aNumber)  {
aNumber = Math.floor(aNumber);  // 如果这个数不是一个整数，则向下舍入。
if (aNumber < 0)  {  // 如果这个数小于 0，拒绝接收。
    return "not a defined quantity";
    }
      if ((anumber == 0) || (anumber == 1))  {  // 如果为 0 或 1，则其阶乘为 1。
      return 1;
      }
        else return (anumber * factorial(anumber - 1));  // 否则，递归直至完成。
}


变量范围

变量范围
 JScript 教程
上一页
下一页

Microsoft JScript 有两种变量范围：全局和局部。如果在任何函数定义之外声明了一个 变量 ，则该变量为全局变量，且该变量的值在整个持续范围内都可以访问和修改。如果在函数定义内声明了一个变量，则该变量为局部变量。每次执行该函数时都会创建和破坏该变量；且它不能被该函数外的任何事物访问。

一个局部变量的名称可以与某个全局变量的名称相同，但这是完全不同和独立的两个变量。因此，更改一个变量的值不会影响另一个变量的值。在声明局部变量的函数内，只有该局部变量有意义。

var aCentaur = "a horse with rider,";  // aCentaur 的全局定义。

// JScript 代码，为简洁起见有省略。
function antiquities()  // 在这个函数中声明了一个局部 aCentaur 变量。
{

// JScript 代码，为简洁起见有省略。
var aCentaur = "A centaur is probably a mounted Scythian warrior";

// JScript 代码，为简洁起见有省略。
  aCentaur += ", misreported; that is, ";  // 添加到局部变量。

// JScript 代码，为简洁起见有省略。
}  // 函数结束。

var nothinginparticular = antiquities();
aCentaur += " as seen from a distance by a naive innocent.";

/*
在函数内，该变量的值为 "A centaur is probably a mounted Scythian warrior,
misreported; that is, "；在函数外，该变量的值为这句话的其余部分：
"a horse with rider, as seen from a distance by a naive innocent."
*/
很重要的一点是注意变量是否是在其所属范围的开始处声明的。有时这会导致意想不到的情况。
var aNumber = 100;
var withAdditive = 0;

withAdditive += aNumber;  // withAdditive 现在是 100。
tweak();
withAdditive += aNumber;  // withAdditive 现在是 200。

function tweak()  {
var newThing = 0;  // 显示声明 newThing 变量。
// 如果不注释下一条语句，将产生一个错误。
// newThing = aNumber;
// 下一条语句将值 42 赋给局部的 aNumber，该变量是隐式声明的。
aNumber = 42;
if (false)  {
    var aNumber;  // 该语句永远不会执行。
    aNumber = "Hello!";  //  该语句永远不会执行。
    }  // 条件语句结束。
}  // 该函数定义结束。
被注释掉的语句试图将局部变量 aNumber 的值赋给局部变量 newThing 的值。尽管事实上在函数的其他地方定义了一个局部 aNumber 变量，并且因此在整个函数内都存在，这样做也不会成功。 aNumber 变量在代码中这条语句的位置处没有被赋值，因此是 undefined。


复制、传递和比较数据

复制、传递和比较数据
 JScript 教程
上一节
下一节

在 Microsoft JScript 中，对数据的处理取决于该数据的类型。

按值和按引用的比较
Numbers 和 Boolean 类型的值 (true 和 false) 是按值来复制、传递和比较的。当按值复制或传递时，将在计算机内存中分配一块空间并将原值复制到其中。然后，即使更改原来的值，也不会影响所复制的值（反过来也一样），因为这两个值是独立的实体。

对象、数组以及函数在大多数环境中都是按引用来复制、传递和比较的。 当按地址复制或传递时，实际是创建一个指向原始项的指针，然后就像拷贝一样来使用该指针。如果随后更改原始项，则将同时更改原始项和复制项（反过来也一样）。实际上只有一个实体；“复本”并不是一个真正的复本，而只是该数据的又一个引用。

注意 可以更改对象和数组的该操作，方法是为其指定 assign( ) 方法。

最后，字符串是按引用复制和传递的，但是是按值来比较的。

注意 鉴于 ASCII 和 ANSI 字符集的构造方法，按序列顺序大写字母位于小写字母的前面。例如 "Zoo" 小于 "aardvark"。

传递参数给函数
按值传递一个参数给函数就是制作该参数的一个独立复本，即一个只存在于该函数内的复本。另外，如果按引用传递一个参数，且该函数更改了该参数的值，则这个值在脚本的任何位置都会被改变。
检验数据
当按值进行检验时，是比较两个截然不同的项以查看它们是否相等。通常，该比较是逐字节进行的。当按引用进行检验时，是看这两项是否是指向同一个原始项的指针。如果是，则比较结果是相等；如果不是，即使它们每个字节都包含完全一样的值，比较结果也为不相等。

按引用复制和传递字符串能节约内存；但是由于在字符串被创建后不能进行更改，因此可以按值进行比较。这样可以检查两个字符串是否包含相同的内容，即使它们是完全独立产生的。


使用数组

使用数组
 JScript 教程
上一页
下一页

数组下标
JScript 中的数组是稀疏的。也就是说，如果一个数组具有三个元素，编号分别为 0、1 和 2，您就可以创建元素 50，而不必担心从 3 到 49 的参数。如果该数组有一个自动的 length 变量，（请参阅 固有对象了解有关数组长度的自动监控的说明），该 length 变量被设为 51，而不是 4。当然您可以创建各元素的编号之间没有间隙的数组，不过没有必要这样做。实际上在 JScript 中，数组根本没有编号的下标。

在 JScript 中，对象和数组实质上是一样的。真正的差异不在于数据，而在于您引用数组的成员或对象的属性 和 方法的方式。

数组寻址
有两种方式来引用数组中的成员。一般说来，可以使用方括号来引用数组。方括号中是一个数字或一个值为非负整数的表达式 。下面的示例假定在脚本的其他地方已定义了entryNum 变量，且已赋值。
theListing = addressBook[entryNum];
theFirstLine = theListing[1];
这种寻址方法与对象寻址的方法是等价的，不过在对象寻址中在圆点后必须使用实际的属性名。如果没有这样的属性，代码将产生一个错误。

数组寻址的第二种方式是制作一个包含编号属性的对象/数组，然后用一个循环产生这些编号。下面的示例将产生两个数组：一个代表名字，一个代表地址，名字和地址均来自 addressBook 中的一个列表。每一项包含四个属性。例如，从theListing的 [Name1] 到 [Name4] 属性产生的theName实例可能包含 "G." "Edward" "Heatherington" "IV", 或 "George" "" "Sand" ""。

theListing = addressBook[entryNum];
for (i = 1; i < 4; i++)  {
theName[i] = theListing["Name" + i];
theAddress[i] = theListing["Address" + i];
}
虽然这个特定的实例很短，并且可以很容易地使用 "."这种记法来表示（也就是按地址而不是按数组来对 theListing、theName和 theAddress 寻址），但这并不总是可行的。有时特定的属性可能要在运行时才会存在，或者预先并不知道将是哪些项。例如，如果addressBook 数组不是编好号码的清单，而是按姓排列的，用户可能在正在运行该脚本时“随意”输入名称来查找人员。下面的实例假定在脚本的其他地方已提供了适当的函数定义。
theListing = addressBook[getName()];
theIndivListing = theListing[getFirstName()];
这是数组的关联寻址，也就是说，依靠完全任意的字符串来寻址。JScript 中的对象实际上就是关联数组。尽管可以（并且是频繁地〕使用 "."这种圆点寻址风格，但无论如何不是必选项。因为 JScript 对象的任何属性都可以使用数组标记法来寻址，因此 JScript 对象可以作为一个关联数组使用。

下面的代码创建并初始化数组的最常见格式：

var myArray = new Array("Athens", "Belgrade", "Cairo");
该数组的每个元素都是使用其元素编号来寻址的；在本例中是 0、1 或 2。使用 for...in 语句，该数组可以从 0 开始到 2 结束来进行遍历。例如：

for (key in myArray)
  response.write("Element value is " + MyArray[key] + "<BR>);
下面的代码创建并初始化一个包含三个元素的关联数组：
var MyArray = {"a" : "Athens", "b" : "Belgrade", "c" : "Cairo" };
在该数组中，可以使用字符串("a"、 "b" 或 "c") 来对元素寻址，而不是用数组元素的编号 (0、1 或 2)寻址。这样就可以以更直观的寻址方案来创建和使用数组。同样可以使用上面显示的 for...in 语句代码来遍历该数组。


创建高级对象

创建高级对象
 JScript 教程
上一页
下一页

使用构造函数来创建对象
在 Microsoft JScript 中，可以使用构造函数来创建和生成对象类。您可以使用 new 语句来调用一个构造函数。该语句将返回其创建的内容。

Function 构造函数这个特例可用来创建匿名的函数。所谓匿名函数是指没有名称的函数。例如，可以使用 Function 构造函数来生成一个 “不工作”的函数，作为在另一个函数内的指示。这种函数只会从一个位置调用，不需要名称。

在下例中，这个匿名函数将生成一行“姓名和电子邮件地址”列表。该函数检查 firstNameFirst 变量的值来决定是先输入名还是姓，然后检查 emailNameFirst 变量的值来决定是先输入姓名还是电子邮件地址。该示例假定已在别的位置设置了firstNameFirst 和 emailNameFirst 的值。

for (j = 1; j < addressList[length]; j++)
{
oneListingLine = new Function(emailNameFirst, firstNameFirst, addressList, j, theName = new Function(firstNameFirst, addressList, j, var theName=(addressList[j].firstName + addressList[j].lastName);
if(firstNameFirst)
      {
      theName=(addressList[j].firstName + addressList[j].lastName);
      },) ;
if (emailNameFirst)
      {
theListing = addressList[j].emailName+ ":\t" + theName
      } else theListing = theName + ":\t" + addressList[j].emailName; return theListing;)
document.write(oneListingLine + "<br>");
}
编写构造函数
要编写自己的构造函数，可以在构造函数中使用 this 关键字来引用新创建的对象。该构造函数将初始化该对象。

尽管在下面的示例中构造函数是从 0 索引开始的，但这并不是必选项。例如，如果希望某个参数指明数组或对象的实际索引数，您可以将 1 作为第一个索引开始。 在该示例中，该参数是 extent 来使其区别于由内置的 Array( ) 对象中自动维护的 length 参数。如果编写了给数组添加属性的代码，必需更新 extent 参数（或您自己的对应参数），因为该参数不是由 JScript 维护的。注意即使是这个极端简单的示例也使用了对象（点）和数组（方括号）的标注风格来引用当前对象。

function MakeStringArray(length) {
this.extent = length;
for (iNum = 0; iNum < length; i++) {
this[iNum] = "";
}
}

// 使用该构造函数来创建和初始化一个数组。
myStringArray = new MakeStringArray(63);
使用原型来创建对象
在编写对象定义时，可以使用 prototype 属性来创建由该定义生成且所有对象都具有的属性。原型属性将按引用复制给类中的每个对象，因此这一类中的所有对象的这个属性都相同。不过，可以在一个对象中更改原型属性的值，新的值将覆盖默认值，但仅在该实例中有效。属于这个类的其他对象不受此更改的影响。

使用这个原则，可以给 JScript 语言内部的对象定义附加属性，所有这些对象都具有原型。例如，如果要在计算中使用一个特殊的常数，而在 Math 和 Number 对象中提供的常数没有包括该常数，则可以自己定义，并对其指定各自的对象原型，或对象类的原型属性。

Math.prototype.Avogadro = 6.0232E23;
function howManyMolecules(wtGrams,molWt) {
return ((wtGrams/molWt)*Math.prototype.Avogadro);
}
document.write("There are " + howManyMolecules(window.prompt("How many grams?",0),window.prompt
("What's the molecular weight?",0)) +
 " molecules in that amount.");
也许还需要指出的一点是，您可以定义一个函数，将其指定为 String.prototype 的一个方法，并在脚本的任何地方随字符串使用该函数。下面的示例假定已有一个在脚本的其他地方定义的、称为 "theElements" 的 元素周期表（Periodic Chart）数组,该数组中包含了元素的符号、名称、原子数以及其他相关信息。

function atomName(theSymbol) {
return(theElements[theSymbol].fullName);
}

String.prototype.atomName = atomName;

function decodeFormula(theFormula) {
var theCurrentPiece = "";
var theDecodedFormula = "";
for (i = 1; i = theFormula.length ; i++);
if (theFormtheCurrentPiece
// 将公式字符串分为符号和数字的数组。
// 循环该公式数组并装配拆开的字符串。每一项为：
theDecodedFormula += formula[n].number
theDecodedFormula += " ";
theDecodedFormula += formula[n].symbol.prototype.atomName;
theDecodedFormula += " "
// 循环结束。

return theDecodedFormula;
}

decodeFormula(window.prompt("Formula?","Al2O3"));


特殊字符
 JScript 教程
上一页
下一页

特殊字符
JScript 提供了一些特殊字符，允许在字符串中包括一些无法直接键入的字符。每个字符都以反斜杠开始。反斜杠是一个转义字符，表示 JScript 解释器下面的字符为特殊字符。

转义序列 | 字符
\b | 退格
\f | 走纸换页
\n | 换行
\r | 回车
\t | 横向跳格 (Ctrl-I)
\' 单引号
\" 双引号
\\ 反斜杠

请注意，由于反斜杠本身用作转义符，因此不能直接在脚本中键入一个反斜杠。如果要产生一个反斜杠，必须一起键入两个反斜杠 (\\)。

document.write('The image path is C:\\webstuff\\mypage\\gifs\\garden.gif.');
document.write('The caption reads, "After the snow of \'97. Grandma\'s house is covered."');
可以使用这些转义序列来控制位于 <PRE> 和 <XMP> 标识之间的文本格式，此外，也可用来控制警告、提示和确认消息框中的文本格式。


脚本问题解答

脚本问题解答
 JScript 教程
上一页
下一页

如果不够细致，任何编程语言都有一些可能发生错误的地方，而且每种语言都有其特殊之处。例如，对于 null 值： Microsoft JScript 中这个值与 C 或 C++ 语言中的 null 值所起的作用是不一样的。

下面提供了一些在编写 JScript 脚本时可能遇到的问题。

语法错误
由于编程语言中的语法比自然语言的语法要严格得多，因此在编写脚本时对细节应倍加关注。例如，如果您本意是将字符串作为某个参数，但是在键入时忘了使用引号引起来，就会产生问题。
脚本解释顺序
对 JScript 的解释是 Web 浏览器的 HTML 语法分析处理的一部分。因此，如果在文档的 <HEAD> 标识中放置了一个脚本，则将在检查所有的 <BODY> 标识之前加以解释。如果在 <BODY> 标识中将创建对象，但由于在分析处理 <HEAD> 标识时这些对象尚不存在，因而不能被脚本操作。
自动类型强制
JScript 是一种具有自动强制的自由类型语言。因此，尽管实际上不同类型的值是不相等的，但对下述示例中的表达式求值都将得到 true。
"100" == 100
false == 0
运算符优先级
在对表达式求值时某个特定运算符的执行主要是根据 运算符优先级 ，而不是表达式的位置。因此，在下面的示例中，乘法将先于减法执行，尽管在该表达式中第一个出现的运算符是减法。
theRadius = aPerimeterPoint - theCenterpoint * theCorrectionFactor;
对对象使用 for...in 循环
当使用 for...in 循环对某个对象的属性进行遍历时，不必预先确定或管理将要指定给该循环计数器变量的对象字段的顺序。此外，在该语言的不同实现方案中该顺序可能会不一样。
with 关键字
with 语句可以方便地用来引用某个特定对象中已有的属性，但是不能用来给对象添加属性。要给对象创建新的属性，必须明确地引用该对象。
this 关键字
尽管可以在对象的定义范围内使用 this 关键字来引用该对象本身，但是当函数不是该对象的定义时，就不能象普通情况那样使用 this 或类似的关键字来引用当前的执行函数。如果该函数被指定为某个对象的方法，则可以在该函数内使用 this 关键字来引用该对象。
编写一个写脚本的脚本
当解释程序遇到</SCRIPT>标记时会终止当前脚本。要显示"</SCRIPT>" 本身，请将其改写为至少两个字符串，例如 "</SCR" 和 "IPT>"，这样就可以在输出语句中将其连接在一起。
隐式窗口引用
由于同时可以打开多个窗口，任何隐式的窗口引用都被指向当前窗口。对于其他窗口必须使用显式引用。


在浏览器中显示信息

在浏览器中显示信息
JScript 教程
上一页
下一页

Microsoft JScript 提供了两种方式来在浏览器中直接显示数据。可以使用 write( ) 和 writeln( )，这两个函数是document 对象的方法。也可以在浏览器中以表格的方式显示信息，以及用 警告、提示和确认 消息框来显示信息。
使用 document.write( ) 和 document.writeln( )
显示信息最常用的方式是 document 对象的 write( ) 方法。该方法用一个字符串作为其参数，并在浏览器中显示。该字符串可以是普通文本或 HTML。

字符串可以用单引号或双引号引起来。这样可以引用那些包含引号或撇号的内容。

document.write("Pi is approximately equal to " + Math.PI);
document.write( );

提示 下面的简单函数可以避免在浏览器中显示信息时不得不键入 "document.write"。该函数不能告知要显示的信息是否未定义，而是发布给命令 "w();"，该命令将显示一个空行。
function w(m)  {			// 编写函数。
m = "" + m + "";       		//  确保变量 m 是一个字符串。
if ("undefined" != m)  {       		//  判别是否为空或其它未定义的项。
    document.write(m);
    }
document.write("<br>");
}

w('<IMG SRC="horse.gif">');
w();
w("This is an engraving of a horse.");
w();

writeln( ) 方法与 write( ) 方法几乎一样，差别仅在于是前者将在所提供的任何字符串后添加一个换行符。在 HTML 中，这通常只会在后面产生一个空格；不过如果使用了 <PRE> 和 <XMP> 标识，这个换行符会被解释，且在浏览器中显示。

在调用 write( ) 方法时，如果该文档不处于在调用 write( ) 方法时的打开和分析的过程中，该方法将打开并清除该文档，所以它可能是有危险的。该示例显示了一个每隔一分钟就显示时间的脚本，但是在第一次显示后由于它从过程中将自己清除，因此会导致失败。

<HTML>
<HEAD>
<SCRIPT LANGUAGE="JScript">
function singOut()  {
var theMoment = new Date();
var theHour = theMoment.getHours();
var theMinute = theMoment.getMinutes();
var theDisplacement = (theMoment.getTimezoneOffset() / 60);
theHour -= theDisplacement;
if (theHour > 23)  {
theHour -= 24
}
document.write(theHour + " hours, " + theMinute + " minutes, Coordinated Universal Time.");
window.setTimeout("singOut();", 60000);
}
</SCRIPT>
</HEAD>
<BODY>
<SCRIPT>
singOut();
</SCRIPT>
</BODY>
</HTML>
如果使用 window 对象的 alert() 方法而不是 document.write()，则该脚本可以运行。
window.alert(theHour + " hours, " + theMinute + " minutes, Coordinated Universal Time.");
window.setTimeout("singOut();", 60000);
}
清除当前文档
document 对象的 clear() 方法将清空当前文档。该方法也将清除您的脚本（随文档的其他部分一起），因此要特别注意该方法的使用方式及在什么时候使用该方法。
document.clear();


使用消息框

使用消息框
 JScript 教程
上一页

使用警告、提示和确认
可以使用警告、确认和提示消息框来获得用户的输入。这些消息框是 window 对象的接口方法。由于 window 对象位于对象层次的顶层，因此实际应用中不必使用这些消息框的全名（例如 "window.alert()"），不过采用全名是一个好注意，这样有助于您记住这些消息框属于哪个对象。

警告消息框
alert 方法有一个参数，即希望对用户显示的文本字符串。该字符串不是 HTML 格式。该消息框提供了一个“确定”按钮让用户关闭该消息框，并且该消息框是模式对话框，也就是说，用户必须先关闭该消息框然后才能继续进行操作。
window.alert("欢迎！请按“确定”继续。");
确认消息框
使用确认消息框可向用户问一个“是-或-否”问题，并且用户可以选择单击“确定”按钮或者单击“取消”按钮。confirm 方法的返回值为 true 或 false。该消息框也是模式对话框：用户必须在响应该对话框（单击一个按钮）将其关闭后，才能进行下一步操作。
var truthBeTold = window.confirm("单击“确定”继续。单击“取消”停止。");
if (truthBeTold) {
window.alert("欢迎访问我们的　Web 页！");
}  else  window.alert("再见啦！");
提示消息框
提示消息框提供了一个文本字段，用户可以在此字段输入一个答案来响应您的提示。该消息框有一个“确定”按钮和一个“取消”按钮。如果您提供了一个辅助字符串参数，则提示消息框将在文本字段显示该辅助字符串作为默认响应。否则，默认文本为 "<undefined>"。

与alert( ) 和 confirm( ) 方法类似，prompt 方法也将显示一个模式消息框。用户在继续操作之前必须先关闭该消息框

var theResponse = window.prompt("欢迎？","请在此输入您的姓名。");


JScript 运行时库参考

Scripting 运行时库参考 		语言参考
版本信息

特性信息

字母顺序的关键字列表

方法

对象

属性

欢迎使用 Scripting 运行时库参考

通过对信息进行分组，可以使您方便地研究 Scripting 运行时库的各个主题。

可以在“字母顺序的关键字列表”中找到按照字母顺序排列的 Scripting 运行时库的所有主题。 如果只需要查看某一个主题（例如对象），则有对该主题进行详细说明的章节可供查阅。

如何操作呢？ 单击左边任意一个标题，即可显示该标题所包含的项目列表。 再从该列表中选择想要查看的主题。 打开所选主题之后，就能够很容易地连接到其他相关章节。

好了，现在就开始行动，赶快进去看一看吧！ 学习一些语句，琢磨各种方法，或者研究一些函数。 您将会发现 Scripting 运行时库是多么灵活多用！

特性 | 描述
Microsoft Scripting 运行时特性 | 目前 Microsoft Scripting 运行时库中的特性列表
语言元素 | 描述
Add 方法 (Dictionary) | 向 Dictionary 对象中添加主键和项目对。
Add 方法 (Folders) | 向 Folders 集合中添加新的 Folder 。
AtEndOfLine 属性 | 如果在 TextStream文件中文件指针紧接在 end-of-line 标志之前则返回 True ；如果不是则返回 False。
AtEndOfStream 属性 | 如果在 TextStream 文件中文件指针到达文件尾则返回 True ；如果不是则返回 False 。
Attributes 属性 | 设置或返回文件或文件夹的属性。
AvailableSpace 属性 | 向用户返回指定驱动器或网络共享上的可用空间大小。
BuildPath 方法 | 将一个名称追加到已有的路径后。
Close 方法 | 关闭打开的 TextStream 文件。
Column 属性 | 返回 TextStream 文件中当前字符所在的列号。
CompareMode 属性 | 设置和返回在 Dictionary 对象中对字符串键进行比较的比较方式。
Copy 方法 | 将指定文件或文件夹从一个位置复制到另一个位置。
CopyFile 方法 | 将一个或多个文件从一个位置复制到另一个位置。
CopyFolder 方法 | 将文件夹从一个位置完全复制到另一个位置。
Count 属性 | 返回集合或 Dictionary 对象中的项目数。
CreateFolder 方法 | 创建文件夹。
CreateTextFile 方法 | 创建指定的文件名并返回可用于读写该文件的 TextStream 对象。
DateCreated 属性 | 返回指定文件或文件夹创建的日期和时间。
DateLastAccessed 属性 | 返回指定文件或文件夹最后一次访问的日期和时间。
DateLastModified 属性 | 返回指定文件或文件夹最后一次修改的日期和时间。
Delete 方法 | 删除指定的文件或文件夹。
DeleteFile 方法 | 删除指定文件。
DeleteFolder 方法 | 删除指定文件夹及其内容。
Dictionary 对象 | 存储数据键和项目对的对象。
Drive 对象 | 提供了对特定磁盘驱动器或网络共享的属性的访问。
Drive 属性 | 返回指定文件或文件夹所在驱动器的驱动器号。
DriveExists 方法 | 如果指定驱动器存在则返回 True ；否则返回 False 。
DriveLetter 属性 | 返回本地物理驱动器或网络共享的驱动器号。
Drives 集合 | 包含所有可用驱动器的只读集合。
Drives 属性 | 返回一个 Drives 集合，由所有本地机器上可用的 Drive 对象组成 。
DriveType 属性 | 返回说明指定驱动器类型的值。
Exists 方法 | 如果 Dictionary 对象中存在指定键则返回 True ，否则返回 False 。
File 对象 | 提供了对文件所有属性的访问。
FileExists 方法 | 如果指定文件存在则返回 True ；否则返回 False 。
Files 集合 | 文件夹中所有 File 对象的集合。
Files 属性 | 返回一个 Files 集合，由所有包含在指定文件夹中的 File 对象组成，包括那些设置了隐藏和系统文件属性的文件。
FileSystemObject 对象 | 提供了对计算机文件系统的访问。
FileSystem 属性 | 返回指定驱动器所使用的文件系统类型。
Folder 对象 | 提供了对文件夹所有属性的访问。
Folders 集合 | 包含在一个 Folder 对象中的所有 Folder 对象的集合。
FolderExists 方法 | 如果指定文件夹存在则返回 True ;否则返回 False 。
FreeSpace 属性 | 向用户返回指定驱动器或网络共享上可用空间的大小。
GetAbsolutePathName 方法 | 根据所提供的路径说明返回完整明确的路径。
GetBaseName 方法 | 根据提供的路径说明返回一个字符串，包含文件或文件夹的基本名称（不包括任何文件扩展名）。
GetDrive 方法 | 返回相应于指定路径中驱动器的 Drive 对象。
GetDriveName 方法 | 根据指定路径返回包含驱动器名称的字符串。
GetExtensionName 方法 | 返回一个字符串，包含路径中最后成分的扩展名。
GetFile 方法 | 返回相应于指定路径中文件的 File 对象。
GetFileName 方法 | 返回指定路径中的最后文件名或文件夹名，该路径不能是驱动器说明。
GetFileVersion 方法 | 返回指定文件的版本号码。
GetFolder 方法 | 返回相应于指定路径中文件夹的 Folder 对象。
GetParentFolderName 方法 | 返回一个字符串，包含指定路径中最后文件或文件夹的父文件夹名。
GetSpecialFolder 方法 | 返回指定的特殊文件夹。
GetTempName 方法 | 返回一个随机生成的临时文件或文件夹名称。
IsReady 属性 | 如果指定驱动器已就绪则返回 True ；否则返回 False 。
IsRootFolder 属性 | 如果指定文件夹是根文件夹则返回 True ；否则返回 False 。
Item 属性 | 根据 Dictionary 对象中指定的 key 设置或返回 item 。
Items 方法 | 返回包含 Dictionary 对象中所有项目的数组。
Key 属性 | 在 Dictionary 对象中设置 key 。
Keys 方法 | 返回包含了 Dictionary 对象中全部已有键的数组。
Line 属性 | 返回 TextStream 文件中的当前行号。
Move 方法 | 将指定文件或文件夹从一个位置移动到另一个位置。
MoveFile 方法 | 从一个位置向另一个位置移动一个或多个文件。
MoveFolder 方法 | 从一个位置向另一个位置移动一个或多个文件夹。
Name 属性 | 设置或返回指定文件或文件夹的名称。
OpenAsTextStream 方法 | 打开指定文件并返回可用于读、写或追加该文件的 TextStream 对象。
OpenTextFile 方法 | 打开指定文件并返回可用于读、写或追加该文件的 TextStream 对象。
ParentFolder 属性 | 返回指定文件或文件夹的父文件夹对象。
Path 属性 | 返回指定文件、文件夹或驱动器的路径。
Read 方法 | 从 TextStream 文件中读取指定数量的字符并返回结果字符串。
ReadAll 方法 | 读取整个 TextStream 文件并返回结果字符串。
ReadLine 方法 | 从 TextStream 文件中读取整行（在 newline 字符前，但不包括它）并返回结果字符串。
Remove 方法 | 从 Dictionary 对象中删除一对键和项目。
RemoveAll 方法 | 删除 Dictionary 对象中的所有键和项目对。
RootFolder 属性 | 返回表示指定驱动器上根文件夹的 Folder 对象。
SerialNumber 属性 | 返回用于唯一标识驱动器卷的数字序列号。
ShareName 属性 | 返回指定驱动器的网络共享名。
ShortName 属性 | 返回一些程序使用的短名称，这些短名称由需要以前的 8.3 命名规范的程序使用。
ShortPath 属性 | 返回一些程序使用的短路径，这些短路径名由要以前的 8.3 命名规范的程序使用。
Size 属性 | 以字节为单位返回指定文件或文件夹的大小。
Skip 方法 | 在读取 TextStream 文件时掠过指定数目的字符。
SkipLine 方法 | 在读取 TextStream 文件时掠过下一行。
SubFolders 属性 | 返回由指定文件夹中包含的所有文件夹组成的 Folders 集合，包括那些设置了隐藏和系统文件属性的文件夹。
TextStream 对象 | 便于对文件的顺序访问。
TotalSize 属性 | 以字节为单位返回驱动器或网络共享的总共空间大小。
Type 属性 | 返回关于文件或文件夹类型的信息。
VolumeName 属性 | 设置或返回指定驱动器的卷号。
Write 方法 | 向 TextStream 文件中写入指定字符串。
WriteBlankLines 方法 | 向 TextStream 文件中写入指定数量的 newline 字符。
WriteLine 方法 | 向 TextStream 文件中写入指定字符串和 newline 字符。
语言元素 | 描述
Add 方法 (Dictionary) | 向 Dictionary 对象中添加一对键和项目。
Add 方法 (Folders) | 向 Folders 集合中添加新的 Folder 。
BuildPath 方法 | 在已有路径后追加一个名称。
Close 方法 | 关闭打开的 TextStream 文件。
Copy 方法 | 将指定文件或文件夹从一个位置复制到另一个位置。
CopyFile 方法 | 从一个位置向另一个位置复制一个或多个文件。
CopyFolder 方法 | 从一个位置向另一个位置复制整个文件夹。
CreateFolder 方法 | 创建文件夹。
CreateTextFile 方法 | 创建指定的文件名并返回可用于读写该文件的 TextStream 对象。
Delete 方法 | 删除指定文件或文件夹。
DeleteFile 方法 | 删除指定文件。
DeleteFolder 方法 | 删除指定文件夹及其内容。
DriveExists 方法 | 如果指定驱动器存在则返回 True ；如果不存在则返回 False 。
Exists 方法 | 如果 Dictionary 对象中存在指定键则返回 True ，否则返回 False 。
FileExists 方法 | 如果指定文件存在则返回 True ；否则返回 False 。
FolderExists 方法 | 如果指定文件夹存在则返回 True ;否则返回 False 。
GetAbsolutePathName 方法 | 根据所提供的路径说明返回完整明确的路径。
GetBaseName 方法 | 根据提供的路径说明返回一个字符串，包含文件或文件夹的基本名称（不包括任何文件扩展名）。
GetDrive 方法 | 返回相应于指定路径中驱动器的 Drive 对象。
GetDriveName 方法 | 根据指定路径返回包含驱动器名称的字符串。
GetExtensionName 方法 | 返回一个字符串，包含路径中最后成分的名称。
GetFile 方法 | 返回相应于指定路径中文件的 File 对象。
GetFileName 方法 | 返回指定路径中的最后文件名或文件夹名，该路径不能是驱动器说明。
GetFileVersion 方法 | 返回指定文件的版本号码。
GetFolder 方法 | 返回相应于指定路径中文件夹的 Folder 对象。
GetParentFolderName 方法 | 返回一个字符串，包含指定路径中最后文件或文件夹的父文件夹名。
GetSpecialFolder 方法 | 返回指定的特殊文件夹。
GetTempName 方法 | 返回一个随机生成的临时文件或文件夹名称。
Items 方法 | 返回包含 Dictionary 对象中所有项目的数组。
Keys 方法 | 返回包含了 Dictionary 对象中全部已有键的数组。
Move 方法 | 将指定文件或文件夹从一个位置移动到另一个位置。
MoveFile 方法 | 从一个位置向另一个位置移动一个或多个文件。
MoveFolder 方法 | 从一个位置向另一个位置移动一个或多个文件夹。
OpenAsTextStream 方法 | 打开指定文件并返回可用于读、写或追加该文件的 TextStream 对象。
OpenTextFile 方法 | 打开指定文件并返回可用于读、写或追加该文件的 TextStream 对象。
Read 方法 | 从 TextStream 文件中读取指定数量的字符并返回结果字符串。
ReadAll 方法 | 读取整个 TextStream 文件并返回结果字符串。
ReadLine 方法 | 从 TextStream 文件中读取整行（在 newline 字符前，但不包括它）并返回结果字符串。
Remove 方法 | 从 Dictionary 对象中删除一个键和项目对。
RemoveAll 方法 | 删除 Dictionary 对象中的所有键和项目对。
Skip 方法 | 在读取 TextStream 文件时掠过指定数目的字符。
SkipLine 方法 | 在读取 TextStream 文件时掠过下一行。
Write 方法 | 向 TextStream 文件中写入指定字符串。
WriteBlankLines 方法 | 向 TextStream 文件中写入指定数量的 newline 字符。
WriteLine 方法 | 向 TextStream 文件中写入指定字符串和 newline 字符。
语言元素 | 描述
Dictionary 对象 | 存储数据键和项目对的对象。
Drive 对象 | 提供了对特定磁盘驱动器或网络共享的属性的访问。
Drives 集合 | 包含所有可用驱动器的只读集合。
File 对象 | 提供了对文件所有属性的访问。
Files 集合 | 文件夹中所有 File 对象的集合。
FileSystemObject 对象 | 提供了对计算机文件系统的访问。
Folder 对象 | 提供了对文件夹所有属性的访问。
Folders 集合 | 包含在一个 Folder 对象中的所有 Folder 对象的集合。
TextStream 对象 | 便于对文件的顺序访问。
语言元素 | 描述
AtEndOfLine 属性 | 如果在 TextStream文件中文件指针紧接在 end-of-line 标志之前则返回 True ；否则返回 False。
AtEndOfStream 属性 | 如果在 TextStream 文件中文件指针到达文件尾则返回 True ；否则返回 False 。
Attributes 属性 | 设置或返回文件或文件夹的属性。
AvailableSpace 属性 | 向用户返回指定驱动器或网络共享上的可用空间大小。
Column 属性 | 返回 TextStream 文件中当前字符所在的列号。
CompareMode 属性 | 设置和返回在 Dictionary 对象中对字符串键进行比较的比较方式。
Count 属性 | 返回集合或 Dictionary 对象中的项目数。
DateCreated 属性 | 返回指定文件或文件夹创建的日期和时间。
DateLastAccessed 属性 | 返回指定文件或文件夹最后一次访问的日期和时间。
DateLastModified 属性 | 返回指定文件或文件夹最后一次修改的日期和时间。
Drive 属性 | 返回指定文件或文件夹所在驱动器的驱动器号。
DriveLetter 属性 | 返回本地物理驱动器或网络共享的驱动器号。
Drives 属性 | 返回一个 Drives 集合，由所有本地机器上可用的 Drive 对象组成 。
DriveType 属性 | 返回说明指定驱动器类型的值。
Files 属性 | 返回一个 Files 集合，由所有包含在指定文件夹中的 File 对象组成，包括那些设置了隐藏和系统文件属性的文件。
FileSystem 属性 | 返回指定驱动器所使用的文件系统类型。
FreeSpace 属性 | 向用户返回指定驱动器或网络共享上可用空间的大小。
IsReady 属性 | 如果指定驱动器已就绪则返回 True ；否则返回 False 。
IsRootFolder 属性 | 如果指定文件夹是根文件夹则返回 True ；否则返回 False 。
Item 属性 | 根据 Dictionary 对象中指定的 key 设置或返回 item 。
Key 属性 | 在 Dictionary 对象中设置 key 。
Line 属性 | 返回 TextStream 文件中的当前行号。
Name 属性 | 设置或返回指定文件或文件夹的名称。
ParentFolder 属性 | 返回指定文件或文件夹的父文件夹对象。
Path 属性 | 返回指定文件、文件夹或驱动器的路径。
RootFolder 属性 | 返回表示指定驱动器上根文件夹的 Folder 对象。
SerialNumber 属性 | 返回用于唯一标识驱动器卷的数字序列号。
ShareName 属性 | 返回指定驱动器的网络共享名。
ShortName 属性 | 返回一些程序使用的短名称，这些短名由需要以前的 8.3 命名规范的程序使用。
ShortPath 属性 | 返回一些程序使用的短路径，这些短路径由需要以前的 8.3 文件名规范的程序使用。
Size 属性 | 以字节为单位返回指定文件或文件夹的大小。
SubFolders 属性 | 返回由指定文件夹中包含的所有文件夹组成的 Folders 集合，包括那些设置了隐藏和系统文件属性的文件夹。
TotalSize 属性 | 以字节为单位返回驱动器或网络共享的总共空间大小。
Type 属性 | 返回关于文件或文件夹类型的信息。
VolumeName 属性 | 设置或返回指定驱动器的卷号。

(C)2000 Microsoft Corporation. All rights reserved.


特性信息

特性信息 		Scripting 运行时库参考
版本信息

Microsoft Scripting 运行时特性


字母顺序的关键字列表

按字母顺序的关键字列表 		Scripting 运行时库参考
版本信息

Add 方法（Dictionary）
Add 方法（Folders）
AtEndOfLine 属性
AtEndOfStream 属性
Attributes 属性
AvailableSpace 属性
BuildPath 方法
Close 方法
Column 属性
CompareMode 属性
Copy 方法
CopyFile 方法
CopyFolder 方法
Count 属性
CreateFolder 方法
CreateTextFile 方法
DateCreated 属性
DateLastAccessed 属性
DateLastModified 属性
Delete 方法
DeleteFile 方法
DeleteFolder 方法
Dictionary 对象
Drive 对象
Drive 属性
DriveExists 方法
DriveLetter 属性
Drives 集合
Drives 属性
DriveType 属性
Exists 方法
File 对象
FileExists 方法
Files 集合
Files 属性
FileSystem 属性
FileSystemObject 对象
Folder 对象
FolderExists 方法
Folders 集合
FreeSpace 属性
GetAbsolutePathName 方法
GetBaseName 方法
GetDrive 方法
GetDriveName 方法
GetExtensionName 方法
GetFile 方法
GetFileName 方法
GetFolder 方法
GetParentFolderName 方法
GetSpecialFolder 方法
GetTempName 方法
IsReady 属性
IsRootFolder 属性
Item 属性
Items 方法
Key 属性
Keys 方法
Line 属性
Move 方法
MoveFile 方法
MoveFolder 方法
Name 属性
OpenAsTextStream 方法
OpenTextFile 方法
ParentFolder 属性
Path 属性
Read 方法
ReadAll 方法
ReadLine 方法
Remove 方法
RemoveAll 方法
RootFolder 属性
SerialNumber 属性
ShareName 属性
ShortName 属性
ShortPath 属性
Size 属性
Skip 方法
SkipLine 方法
SubFolders 属性
TextStream 对象
TotalSize 属性
Type 属性
VolumeName 属性
Write 方法
WriteBlankLines 方法
WriteLine 方法


方法

方法 		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 方法
GetFolder 方法
GetParentFolderName 方法
GetSpecialFolder 方法
GetTempName 方法
Items 方法
Keys 方法
Move 方法
MoveFile 方法
MoveFolder 方法
OpenAsTextStream 方法
OpenTextFile 方法
Read 方法
ReadAll 方法
ReadLine 方法
Remove 方法
RemoveAll 方法
Skip 方法
SkipLine 方法
Write 方法
WriteBlankLines 方法
WriteLine 方法


对象

对象 		Scripting 运行时库参考
版本信息

Dictionary 对象
Drive 对象
Drives 集合
File 对象
Files 集合
FileSystemObject 对象
Folder 对象
Folders 集合
TextStream 对象


属性

属性 		Scripting 运行时库参考
版本信息

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 属性


JScript 教程

FileSystemObject 对象教程
 Scripting 运行时库参考


Microsoft(R) Scripting 库 - FileSystemObject 对象

Microsoft(R) Scripting 库 - FileSystemObject
FileSystemObject 对象模式
 下一页

在为 Active Server Pages、Windows Scripting Host、或其他可以使用 scripting 的应用程序写脚本时，在 Web 服务器上添加、移动、改变、创建或删除文件夹（目录）和文件通常是很重要的。获得有关信息和操作连接在 Web 服务器上的驱动器也可能是必要的。

Scripting 允许用 FileSystemObject (FSO) 对象模式来处理驱动器、文件夹和文件，在下面的章节中将解释该对象模式：

  • FileSystemObject
    和 Scripting 运行时库参考的介绍

  • FileSystemObject 对象

  • 设计 FileSystemObject

  • 处理驱动器和文件夹

  • 处理文件

  • FileSystemObject 示例代码


Microsoft(R) Scripting 库 - FileSystemObject 和 Scripting 运行时库参考的介绍

Microsoft(R) Scripting 库 - FileSystemObject
FileSystemObject 和
Scripting 运行时库参考的介绍
 上一页
下一页

FileSystemObject (FSO) 对象模式，允许对大量的属性、方法和事件，使用较熟悉的 object.method 语法，来处理文件夹和文件。

使用这个基于对象的工具和：

  • HTML 来创建 Web 页

  • Windows Scripting Host 来为 Microsoft Windows 创建批文件

  • Script Control 来对用其他语言开发的应用程序提供编辑脚本的能力

因为在客户端使用 FSO 而引起重要的安全性问题，提供潜在地不受欢迎的对客户端本地文件系统的访问，假定本文档使用 FSO 对象模式，来创建由服务器端的 Internet Web 页执行的脚本。因为使用了服务器端，Internet Explorer 默认安全设置不允许客户端使用 FileSystemObject 对象。覆盖那些默认值可能会引起在本地计算机上不受欢迎的对其文件系统的访问，从而导致文件系统完整性的全部破坏，同时引起数据遗失或更糟的情况。

FSO 对象模式使服务器端的应用程序能创建、改变、移动和删除文件夹，或探测特定的文件夹是否存在，若存在，还可以找出有关文件夹的信息，如名称、被创建或最后一次修改的日期，等等。

FSO 对象模式还使文件处理变得很容易。在处理文件时，主要的目标是以易于访问的格式把数据存储在有效的空间和资源中。这就要求能够创建文件，插入和改变数据，以及输出（读取）数据。因为把数据存储在数据库中，如 Access 或 SQL 服务器，会给应用程序增加很大的开销，所以把数据存储在二进制或文本文件中可能是最有效的解决方案。可能不希望有该开销，或者数据访问要求可能不需要与功能完备的数据库相关联的所有额外功能。

包含在 Scripting 类型库 (Scrrun.dll) 中的 FSO 对象模式，支持通过 TextStream 对象来创建和操作文本文件。虽然还不支持二进制文件的创建或操作，但计划将来要支持二进制文件。


FileSystemObject 对象

Microsoft(R) Scripting 库 - FileSystemObject
FileSystemObject 对象
 上一页
下一页

FileSystemObject(FSO) 对象模式包含下面的对象和集合。

对象/集合 | 描述
FileSystemObject | 主对象。包含用来创建、删除和获得有关信息，以及通常用来操作驱动器、文件夹和文件的方法和属性。和该对象相关联的许多方法，与其他 FSO 对象中的方法完全相似；它们是为了方便才被提供的。
Drive | 对象。包含用来收集信息的方法和属性，这些信息是关于连接在系统上的驱动器的，如驱动器的共享名和它有多少可用空间。请注意，"drive" 并非必须是硬盘，也可以是 CD-ROM 驱动器，RAM 磁盘等等。并非必须把驱动器实物地连接到系统上；它也可以通过网络在逻辑上被连接起来。
Drives | 集合。提供驱动器的列表，这些驱动器实物地或在逻辑上与系统相连接。Drives 集合包括所有驱动器，与类型无关。要可移动的媒体驱动器在该集合中显现，不必把媒体插入到驱动器中。
File | 对象。包含用来创建、删除或移动文件的方法和属性。也用来向系统询问文件名、路径和多种其他属性。
Files | 集合。提供包含在文件夹内的所有文件的列表。
Folder | 对象。包含用来创建、删除或移动文件夹的方法和属性。也用来向系统询问文件夹名、路径和多种其他属性。
Folders | 集合。提供在 Folder 内的所有文件夹的列表。
TextStream | 对象。用来读写文本文件。


设计 FileSystemObject

Microsoft(R) Scripting 库 - FileSystemObject
设计 FileSystemObject
 上一页
下一页

要用 FileSystemObject (FSO) 对象模式来编程，则：

  • 使用 CreateObject 方法来创建 FileSystemObject 对象。
  • 在新创建的对象上使用适当的方法。
  • 访问对象的属性。
FSO 对象模式包含在 Scripting 类型库中，该库位于 Scrrun.dll 文件中。因而，要使用 FSO 对象模式，必须把 Scrrun.dll 放在 Web 服务器的适当系统目录中。

创建 FileSystemObject 对象
首先，使用 CreateObject 对象来创建 FileSystemObject 对象， 在 VBScript 中，使用下面的代码来创建 FileSystemObject 的一个实例：

Dim fso
Set fso = CreateObject("Scripting.FileSystemObject")
示例代码示范了如何创建 FileSystemObject 的一个实例。

在 JScript 中，使用下面的代码来做同样的事情：

var fso;
fso = new ActiveXObject("Scripting.FileSystemObject");
在这两个示例中，Scripting 是类型库的名字，而 FileSystemObject 则是想要创建的对象的名字。可以只创建 FileSystemObject 对象的一个实例，而不管试图创建另一个实例的次数。

使用适当的方法
其次，使用 FileSystemObject 对象的适当方法。例如，要创建一个新的对象，则使用 CreateTextFile 或 CreateFolder （FSO 对象模式不支持驱动器的创建或删除）。

要删除对象，则使用 FileSystemObject 对象的 DeleteFile 和 DeleteFolder 方法，或 File 和 Folder 对象的 Delete 方法。也可以使用适当的方法，来复制和移动文件与文件夹。

注意 FileSystemObject 对象模式中的某些功能是多余的。例如，可以用 FileSystemObject 对象的 CopyFile 方法，也可以用 File 对象的 Copy 方法来复制文件。这两种方法功能是相同的；两种方法都能使编程灵活。

访问现有驱动器、文件和文件夹
要访问现有驱动器、文件或文件夹，则使用 FileSystemObject 对象中的适当的 "get" 方法：

  • GetDrive
  • GetFolder
  • GetFile
在 VBScript 中要访问现有文件：

Dim fso, f1
Set fso = CreateObject("Scripting.FileSystemObject")
Set f1 = fso.GetFile("c:\test.txt")
在 JScript 中要做同样的事情，则使用下面的代码：

var fso, f1;
fso = new ActiveXObject("Scripting.FileSystemObject");
f1 = fso.GetFile("c:\\test.txt");
不要对新创建的对象使用 "get" 方法，因为 "create" 函数已经返回那个对象的一个句柄。例如，如果使用 CreateFolder 方法创建了一个新的文件夹，则不要使用 GetFolder 方法来访问它的属性，如 Name、Path、Size等等。只需设一个变量给 CreateFolder 函数，来获得新创建文件夹的句柄名，然后访问它的属性、方法和事件。要在 VBScript 中这样做，则使用下面的代码：

Sub CreateFolder
  Dim fso, fldr
  Set fso = CreateObject("Scripting.FileSystemObject")
  Set fldr = fso.CreateFolder("C:\MyTest")
  Response.Write "Created folder: " & fldr.Name
End Sub
在 JScript 中给 CreateFolder 函数设置一个变量，则使用下面的语法：

function CreateFolder()
{
  var fso, fldr;
  fso = new ActiveXObject("Scripting.FileSystemObject");
  fldr = fso.CreateFolder("C:\\MyTest");
  Response.Write("Created folder: " + fldr.Name);
}
访问对象的属性
一旦有了对象的句柄，就可以访问它的属性。例如，要获得特定文件夹的名字，首先创建该对象的一个实例，然后用适当的方法获得它的句柄（在这个例子中是 GetFolder 方法，因为该文件夹已经存在了）。

在 VBScript 中，用该代码来获得 GetFolder 方法的一个句柄：

Set fldr = fso.GetFolder("c:\")

在 JScript 中要做同样的事情，则使用下面的代码：

var fldr = fso.GetFolder("c:\\");
现在，已经有了 Folder 对象的句柄，就可以检查它的 Name 属性了。在 VBScript 中使用下面的代码来检查：

Response.Write "Folder name is: " & fldr.Name
在 JScript 中要检查 Name 属性，则使用下面的语法：

Response.Write("Folder name is: " + fldr.Name);
要找出最后一次修改文件的时间，则使用下面的 VBScript 语法：

Dim fso, f1
Set fso = CreateObject("Scripting.FileSystemObject")
' 获得要查询的文件对象。
Set f1 = fso.GetFile("c:\detlog.txt")
' 打印信息。
Response.Write "File last modified: " & f1.DateLastModified
在 JScript 中要找出同样的事情，则使用下面的代码：

var fso, f1;
fso = new ActiveXObject("Scripting.FileSystemObject");
// 获得要查询的文件对象。
f1 = fso.GetFile("c:\\detlog.txt");
// 打印信息。
Response.Write("File last modified: " + f1.DateLastModified);


处理驱动器和文件夹

Microsoft(R) Scripting 库 - FileSystemObject
处理驱动器和文件夹
 上一页
下一页

使用 FileSystemObject (FSO) 对象模式，可以有计划地处理驱动器和文件夹，就像在 Windows 资源管理器中交互式地处理它们一样。可以复制和移动文件夹，获取有关驱动器和文件夹的信息，等等。

获取有关驱动器的信息
可以用 Drive 对象来获得有关各种驱动器的信息，这些驱动器是实物地或通过网络连接到系统上的。它的属性可以用来获得下面的信息内容：

  • 驱动器的总容量，以字节为单位（TotalSize 属性）
  • 驱动器的可用空间是多少，以字节为单位（AvailableSpace 或 FreeSpace 属性）
  • 哪个号被赋给了该驱动器（DriveLetter 属性）
  • 驱动器的类型是什么，如可移动的、固定的、网络的、CD-ROM 或 RAM 磁盘（DriveType 属性）
  • 驱动器的序列号（SerialNumber 属性）
  • 驱动器使用的文件系统类型，如 FAT、FAT32、NTFS 等等（FileSystem 属性）
  • 驱动器是否可以使用（IsReady 属性）
  • 共享和/或卷的名字（ShareName 和 VolumeName 属性）
  • 驱动器的路径或根文件夹（Path 和 RootFolder 属性）
请考察示例代码，来领会如何在 FileSystemObject 中使用这些属性。

Drive 对象的用法示例
使用 Drive 对象来收集有关驱动器的信息。在下面的代码中，没有对实际的 Drive 对象的引用；相反，使用 GetDrive 方法来获得现有 Drive 对象的引用（在这个例子中就是 drv）。

下面示例示范了如何在 VBScript 中使用 Drive 对象：

Sub ShowDriveInfo(drvPath)
  Dim fso, drv, s
  Set fso = CreateObject("Scripting.FileSystemObject")
  Set drv = fso.GetDrive(fso.GetDriveName(drvPath))
  s = "Drive " & UCase(drvPath) & " - "
  s = s & drv.VolumeName & "<br>"
  s = s & "Total Space: " & FormatNumber(drv.TotalSize / 1024, 0)
  s = s & " Kb" & "<br>"
  s = s & "Free Space: " & FormatNumber(drv.FreeSpace / 1024, 0)
  s = s & " Kb" & "<br>"
  Response.Write s
End Sub
下面的代码说明在 JScript 中实现同样的功能：
function ShowDriveInfo1(drvPath)
{
  var fso, drv, s ="";
  fso = new ActiveXObject("Scripting.FileSystemObject");
  drv = fso.GetDrive(fso.GetDriveName(drvPath));
  s += "Drive " + drvPath.toUpperCase()+ " - ";
  s += drv.VolumeName + "<br>";
  s += "Total Space: " + drv.TotalSize / 1024;
  s += " Kb" + "<br>";
  s += "Free Space: " + drv.FreeSpace / 1024;
  s += " Kb" + "<br>";
  Response.Write(s);
}
处理文件夹
在下面的表中，描述了普通的文件夹任务和执行它们的方法。

任务 | 方法
创建文件夹。 | FileSystemObject.CreateFolder
删除文件夹。 | Folder.Delete 或 FileSystemObject.DeleteFolder
移动文件夹。 | Folder.Move 或 FileSystemObject.MoveFolder
复制文件夹。 | Folder.Copy 或 FileSystemObject.CopyFolder
检索文件夹的名字。 | Folder.Name
如果文件夹在驱动器上存在，则找出它。 | FileSystemObject.FolderExists
获得现有 Folder 对象的实例。 | FileSystemObject.GetFolder
找出文件夹的父文件夹名。 | FileSystemObject.GetParentFolderName
找出系统文件夹的路径。 | FileSystemObject.GetSpecialFolder

请考察示例代码，来看看在 FileSystemObject 中使用了多少种这些的方法和属性。

下面的示例示范了如何在 VBScript 中使用 Folder 和 FileSystemObject 对象，来操作文件夹和获得有关它们的信息：

Sub ShowFolderInfo()
  Dim fso, fldr, s
  ' 获得 FileSystemObject 的实例。
  Set fso = CreateObject("Scripting.FileSystemObject")
  ' 获得 Drive 对象。
  Set fldr = fso.GetFolder("c:")
  ' 打印父文件夹名字。
  Response.Write "Parent folder name is: " & fldr & "<br>"
  ' 打印驱动器名字。
  Response.Write "Contained on drive " & fldr.Drive & "<br>"
  ' 打印根文件名。
  If fldr.IsRootFolder = True Then
    Response.Write "This is the root folder." & ""<br>"<br>"
  Else
    Response.Write "This folder isn't a root folder." & "<br><br>"
  End If
  ' 用 FileSystemObject 对象创建新的文件夹。
  fso.CreateFolder ("C:\Bogus")
  Response.Write "Created folder C:\Bogus" & "<br>"
  ' 打印文件夹的基本名字。
  Response.Write "Basename = " & fso.GetBaseName("c:\bogus") & "<br>"
  ' 删除新创建的文件夹。
  fso.DeleteFolder ("C:\Bogus")
  Response.Write "Deleted folder C:\Bogus" & "<br>"
End Sub
下面的示例显示如何在 JScript 中使用 Folder 和 FileSystemObject 对象：
function ShowFolderInfo()
{
  var fso, fldr, s = "";
  // 获得 FileSystemObject 的实例。
  fso = new ActiveXObject("Scripting.FileSystemObject");
  // 获得 Drive 对象。
  fldr = fso.GetFolder("c:");
  // 打印父文件夹名。
  Response.Write("Parent folder name is: " + fldr + "<br>");
  // 打印驱动器名字。
  Response.Write("Contained on drive " + fldr.Drive + "<br>");
  // 打印根文件名。
  if (fldr.IsRootFolder)
    Response.Write("This is the root folder.");
  else
    Response.Write("This folder isn't a root folder.");
  Response.Write("<br><br>");
  // 用 FileSystemObject 对象创建新的文件夹。
  fso.CreateFolder ("C:\\Bogus");
  Response.Write("Created folder C:\\Bogus" + "<br>");
  // 打印文件夹的基本名。
  Response.Write("Basename = " + fso.GetBaseName("c:\\bogus") + "<br>");
  // 删除新创建的文件夹。
  fso.DeleteFolder ("C:\\Bogus");
  Response.Write("Deleted folder C:\\Bogus" + "<br>");
}


处理文件

Microsoft(R) Scripting 库 - FileSystemObject
处理文件
 上一页
下一页

有两种主要的文件处理类型：

  • 创建、添加或删除数据，以及读取文件
  • 移动、复制和删除文件
创建文件
创建空文本文件（有时被叫做“文本流”）有三种方法。

第一种方法是用 CreateTextFile 方法。 下面的示例示范了在 VBScript 中如何用这种方法来创建文本文件：

Dim fso, f1
Set fso = CreateObject("Scripting.FileSystemObject")
Set f1 = fso.CreateTextFile("c:\testfile.txt", True)
要在 JScript 中用这种方法，则使用下面的代码：

var fso, f1;
fso = new ActiveXObject("Scripting.FileSystemObject");
f1 = fso.CreateTextFile("c:\\testfile.txt", true);
请考察示例代码，来领会如何在 FileSystemObject 中使用 CreateTextFile 方法。

创建文本文件的第二种方法是，使用 FileSystemObject 对象的 OpenTextFile 方法，并设置 ForWriting 标志。在 VBScript 中，代码就像下面的示例一样：

Dim fso, ts
Const ForWriting = 2
Set fso = CreateObject("Scripting. FileSystemObject")
Set ts = fso.OpenTextFile("c:\test.txt", ForWriting, True)
要在 JScript 中使用这种方法来创建文本文件，则使用下面的代码：

var fso, ts;
var ForWriting= 2;
fso = new ActiveXObject("Scripting.FileSystemObject");
ts = fso.OpenTextFile("c:\\test.txt", ForWriting, true);
创建文本文件的第三种方法是，使用 OpenAsTextStream 方法，并设置 ForWriting 标志。要使用这种方法，在 VBScript 中使用下面的代码：

Dim fso, f1, ts
Const ForWriting = 2
Set fso = CreateObject("Scripting.FileSystemObject")
fso.CreateTextFile ("c:\test1.txt")
Set f1 = fso.GetFile("c:\test1.txt")
Set ts = f1.OpenAsTextStream(ForWriting, True)
在 JScript 中，则使用下面示例中的代码：

var fso, f1, ts;
var ForWriting = 2;
fso = new ActiveXObject("Scripting.FileSystemObject");
fso.CreateTextFile ("c:\\test1.txt");
f1 = fso.GetFile("c:\\test1.txt");
ts = f1.OpenAsTextStream(ForWriting, true);
添加数据到文件中
一旦创建了文本文件，使用下面的三个步骤向文件添加数据：

  1. 打开文本文件。
  2. 写入数据。
  3. 关闭文件。
要打开现有的文件，则使用 FileSystemObject 对象的 OpenTextFile 方法或 File 对象的 OpenAsTextStream 方法。

要写数据到打开的文本文件，则根据下表所述任务使用 TextStream 对象的 Write、WriteLine 或 WriteBlankLines 方法。

任务 | 方法
向打开的文本文件写数据，不用后续一个新行字符。 | Write
向打开的文本文件写数据，后续一个新行字符。 | WriteLine
向打开的文本文件写一个或多个空白行。 | WriteBlankLines

请考察示例代码，来领会如何在 FileSystemObject 对象中使用 Write、WriteLine 和 WriteBlankLines 方法。

要关闭一个打开的文件，则使用 TextStream 对象的 Close 方法。

请考察示例代码，来领会如何在 FileSystemObject 中使用 Close 方法。

注意 新行字符包含一个或几个字符（取决于操作系统），以把光标移动到下一行的开始位置（回车/换行）。注意某些字符串末尾可能已经有这个非打印字符了。

下面的 VBScript 例子示范了如何打开文件，和同时使用三种写方法来向文件添加数据，然后关闭文件：

Sub CreateFile()
  Dim fso, tf
  Set fso = CreateObject("Scripting.FileSystemObject")
  Set tf = fso.CreateTextFile("c:\testfile.txt", True)
  ' 写一行，并且带有新行字符。
  tf.WriteLine("Testing 1, 2, 3.")
  ' 向文件写三个新行字符。
  tf.WriteBlankLines(3)
  ' 写一行。
  tf.Write ("This is a test.")
  tf.Close
End Sub
这个示例示范了在 JScript 中如何使用这三个方法：

function CreateFile()
{
  var fso, tf;
  fso = new ActiveXObject("Scripting.FileSystemObject");
  tf = fso.CreateTextFile("c:\\testfile.txt", true);
  // 写一行，并且带有新行字符。
  tf.WriteLine("Testing 1, 2, 3.") ;
  // 向文件写三个新行字符。
  tf.WriteBlankLines(3) ;
  // 写一行。
  tf.Write ("This is a test.");
  tf.Close();
}
读取文件
要从文本文件读取数据，则使用 TextStream 对象的 Read、ReadLine 或 ReadAll 方法。下表描述了不同的任务应使用哪种方法。

任务 | 方法
从文件读取指定数量的字符。 | Read
读取一整行（一直到但不包括新行字符）。 | ReadLine
读取文本文件的整个内容。 | ReadAll

请考察示例代码，来领会如何在 FileSystemObject 中使用 ReadAll 和 ReadLine 方法。

如果使用 Read 或 ReadLine 方法，并且想跳过数据的特殊部分，则使用 Skip 或 SkipLine 方法。read 方法的结果文本存在一个字符串中，该字符串可以显示在一个控件中，也可以用字符串函数（如 Left、Right 和 Mid）来分析，连接等等。

下面的 VBScript 示例示范了如何打开文件，和如何写数据到文件中并从文件读取数据：

Sub ReadFiles
  Dim fso, f1, ts, s
  Const ForReading = 1
  Set fso = CreateObject("Scripting.FileSystemObject")
  Set f1 = fso.CreateTextFile("c:\testfile.txt", True)
  ' 写一行。
  Response.Write "Writing file <br>"
  f1.WriteLine "Hello World"
  f1.WriteBlankLines(1)
  f1.Close
  ' 读取文件的内容。
  Response.Write "Reading file <br>"
  Set ts = fso.OpenTextFile("c:\testfile.txt", ForReading)
  s = ts.ReadLine
  Response.Write "File contents = '" & s & "'"
  ts.Close
End Sub
下面的代码示范了在 JScript 中做同样的事：

function ReadFiles()
{
  var fso, f1, ts, s;
  var ForReading = 1;
  fso = new ActiveXObject("Scripting.FileSystemObject");
  f1 = fso.CreateTextFile("c:\\testfile.txt", true);
  // 写一行。
  Response.Write("Writing file <br>");
  f1.WriteLine("Hello World");
  f1.WriteBlankLines(1);
  f1.Close();
  // 读取文件的内容。
  Response.Write("Reading file <br>");
  ts = fso.OpenTextFile("c:\\testfile.txt", ForReading);
  s = ts.ReadLine();
  Response.Write("File contents = '" + s + "'");
  ts.Close();
}
移动、复制和删除文件
FSO 对象模式各有两种方法移动、复制和删除文件，如下表所述。

任务 | 方法
移动文件 | File.Move 或 FileSystemObject.MoveFile
复制文件 | File.Copy 或 FileSystemObject.CopyFile
删除文件 | File.Delete 或 FileSystemObject.DeleteFile

请考察示例代码，来领会在 FileSystemObject 中删除文件的两种方法。

下面的 VBScript 示例，在驱动器 C 的根目录中创建一个文本文件，向其中写一些信息，然后把它移动到 \tmp 目录中，并在 \temp 中做一个备份，最后把它们从两个目录中删掉。

要运行下面的示例，需要先在驱动器 C 的根目录中创建 \tmp 和 \temp 目录：

Sub ManipFiles
  Dim fso, f1, f2, s
  Set fso = CreateObject("Scripting.FileSystemObject")
  Set f1 = fso.CreateTextFile("c:\testfile.txt", True)
  Response.Write "Writing file <br>"
  ' 写一行。
  f1.Write ("This is a test.")
  ' 关闭文件。
  f1.Close
  Response.Write "Moving file to c:\tmp <br>"
  ' 获取 C 的根目录(C:\)中的文件的句柄。
  Set f2 = fso.GetFile("c:\testfile.txt")
  ' 把文件移动到 \tmp 目录。
  f2.Move ("c:\tmp\testfile.txt")
  Response.Write "Copying file to c:\temp <br>"
  ' 把文件复制到 \temp 目录。
  f2.Copy ("c:\temp\testfile.txt")
  Response.Write "Deleting files <br>"
  ' 获得文件当前位置的句柄。
  Set f2 = fso.GetFile("c:\tmp\testfile.txt")
  Set f3 = fso.GetFile("c:\temp\testfile.txt")
  ' 删除文件。
  f2.Delete
  f3.Delete
  Response.Write "All done!"
End Sub
下面的代码示范了在 JScript 中做同样的事：

function ManipFiles()
{
  var fso, f1, f2, s;
  fso = new ActiveXObject("Scripting.FileSystemObject");
  f1 = fso.CreateTextFile("c:\\testfile.txt", true);
  Response.Write("Writing file <br>");
  // 写一行。
  f1.Write("This is a test.");
  // 关闭文件。
  f1.Close();
  Response.Write("Moving file to c:\\tmp <br>");
  // 获取 C 的根目录(C:\)中的文件的句柄。
  f2 = fso.GetFile("c:\\testfile.txt");
  // 把文件移动到 \tmp 目录。
  f2.Move ("c:\\tmp\\testfile.txt");
  Response.Write("Copying file to c:\\temp <br>");
  // 把文件复制到 \temp 目录。
  f2.Copy ("c:\\temp\\testfile.txt");
  Response.Write("Deleting files <br>");
  // 获得文件当前位置的句柄。
  f2 = fso.GetFile("c:\\tmp\\testfile.txt");
  f3 = fso.GetFile("c:\\temp\\testfile.txt");
  // 删除文件。
  f2.Delete();
  f3.Delete();
  Response.Write("All done!");
}


FileSystemObject 示例代码

Microsoft(R) Scripting 库 - FileSystemObject
FileSystemObject
示例代码
 上一页

在本节描述的示例代码，提供真实的例子来示范在 FileSystemObject 对象模式中可用的许多功能。该代码显示了如何一起使用对象模式的所有功能，以及如何在您自己的代码中有效地使用这些功能。

请注意，由于该代码是极一般的，所以要使该代码能够真正在您的机器上运行，可能需要一些其他代码和小小的变更。这些改变之所以必要，是因为在 Active Server Pages 和 Windows Scripting Host 之间，为输入和输出给用户采用了不同的方法。

要在 Active Server Pages 上运行该代码，则采取以下步骤：

  1. 创建一个标准的 Web 页，后缀名为 .asp。
  2. 把下面的示例代码复制到 <BODY>...</BODY> 标记之间的文件中。
  3. 把所有代码包装器到 <%...%> 标记内。
  4. 把 Option Explicit 语句从当前位置移动到 HTML 页的最顶部，甚至在 <HTML> 开始标记前。
  5. 把 <%...%> 标记放置在 Option Explicit 语句周围，以保证它在服务器端运行。
  6. 把下面的代码添加到示例代码末尾：
Sub Print(x)
  Response.Write "<PRE><FONT face=" 宋体"" SIZE=""1"">"
  Response.Write x
  Response.Write "</FONT></PRE>"
End Sub
Main
前面的代码增加一个将在服务器端运行，但在客户端显示结果的打印过程。要在 Windows Scripting Host 上运行该代码，则把下面的代码添加到示例代码的末尾：
Sub Print(x)
    WScript.Echo x
End Sub
Main
下面就是示例代码：

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'
' FileSystemObject 示例代码
'
'Copyright 1998  Microsoft Corporation。保留所有权利。
'
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Option Explicit

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'
' 对于代码质量：
'
' 1) 下面的代码有许多字符串操作，用"&"运算符来把短字符串连接在一起。由于
'    字符串连接是费时的，所以这是一种低效率的写代码方法。无论如何，它是
'    一种非常好维护的写代码方法，并且在这儿使用了这种方法，因为该程序执行
'    大量的磁盘操作，而磁盘操作比连接字符串所需的内存操作要慢得多。
'    记住这是示范代码，而不是产品代码。
'
' 2) 使用了 "Option Explicit"，因为访问声明过的变量，比访问未声明的变量要
'    稍微快一些。它还能阻止在代码中发生错误，例如，把 DriveTypeCDROM 误拼
'    成了 DriveTypeCDORM 。
'
' 3) 为了使代码更可读，该代码中没有错误处理。虽然采取了防范措施，来保证代码
'    在普通情况下没有错误，但文件系统是不可预知的。在产品代码中，使用
'    On Error Resume Next 和 Err 对象来捕获可能发生的错误。
'
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'
' 一些容易取得的全局变量
'
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Dim TabStop
Dim NewLine

Const TestDrive = "C"
Const TestFilePath = "C:\Test"

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'
' 由 Drive.DriveType 返回的常数
'
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Const DriveTypeRemovable = 1
Const DriveTypeFixed = 2
Const DriveTypeNetwork = 3
Const DriveTypeCDROM = 4
Const DriveTypeRAMDisk = 5

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'
' 由 File.Attributes 返回的常数
'
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Const FileAttrNormal  = 0
Const FileAttrReadOnly = 1
Const FileAttrHidden = 2
Const FileAttrSystem = 4
Const FileAttrVolume = 8
Const FileAttrDirectory = 16
Const FileAttrArchive = 32
Const FileAttrAlias = 64
Const FileAttrCompressed = 128

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'
' 用来打开文件的常数
'
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Const OpenFileForReading = 1
Const OpenFileForWriting = 2
Const OpenFileForAppending = 8

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'
' ShowDriveType
'
' 目的：
'
' 生成一个字符串，来描述给定 Drive 对象的驱动器类型。
'
' 示范下面的内容
'
' - Drive.DriveType
'
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Function ShowDriveType(Drive)

    Dim S

    Select Case Drive.DriveType
    Case DriveTypeRemovable
        S = "Removable"
    Case DriveTypeFixed
        S = "Fixed"
    Case DriveTypeNetwork
        S = "Network"
    Case DriveTypeCDROM
        S = "CD-ROM"
    Case DriveTypeRAMDisk
        S = "RAM Disk"
    Case Else
        S = "Unknown"
    End Select

    ShowDriveType = S

End Function

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'
' ShowFileAttr
'
' 目的：
'
' 生成一个字符串，来描述文件或文件夹的属性。
'
' 示范下面的内容
'
' - File.Attributes
' - Folder.Attributes
'
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Function ShowFileAttr(File) ' File 可以是文件或文件夹

    Dim S
      Dim Attr

    Attr = File.Attributes

    If Attr = 0 Then
        ShowFileAttr = "Normal"
        Exit Function
    End If

    If Attr And FileAttrDirectory  Then S = S & "Directory "
    If Attr And FileAttrReadOnly   Then S = S & "Read-Only "
    If Attr And FileAttrHidden     Then S = S & "Hidden "
    If Attr And FileAttrSystem     Then S = S & "System "
    If Attr And FileAttrVolume     Then S = S & "Volume "
    If Attr And FileAttrArchive    Then S = S & "Archive "
    If Attr And FileAttrAlias      Then S = S & "Alias "
    If Attr And FileAttrCompressed Then S = S & "Compressed "

    ShowFileAttr = S

End Function

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'
' GenerateDriveInformation
'
' 目的：
'
' 生成一个字符串，来描述可用驱动器的当前状态。
'
' 示范下面的内容
'
' - FileSystemObject.Drives
' - Iterating the Drives collection
' - Drives.Count
' - Drive.AvailableSpace
' - Drive.DriveLetter
' - Drive.DriveType
' - Drive.FileSystem
' - Drive.FreeSpace
' - Drive.IsReady
' - Drive.Path
' - Drive.SerialNumber
' - Drive.ShareName
' - Drive.TotalSize
' - Drive.VolumeName
'
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Function GenerateDriveInformation(FSO)

    Dim Drives
    Dim Drive
    Dim S

    Set Drives = FSO.Drives

    S = "Number of drives:" & TabStop & Drives.Count & NewLine & NewLine

    ' 构造报告的第一行。
    S = S & String(2, TabStop) & "Drive"
    S = S & String(3, TabStop) & "File"
    S = S & TabStop & "Total"
    S = S & TabStop & "Free"
    S = S & TabStop & "Available"
    S = S & TabStop & "Serial" & NewLine

    ' 构造报告的第二行。
    S = S & "Letter"
    S = S & TabStop & "Path"
    S = S & TabStop & "Type"
    S = S & TabStop & "Ready?"
    S = S & TabStop & "Name"
    S = S & TabStop & "System"
    S = S & TabStop & "Space"
    S = S & TabStop & "Space"
    S = S & TabStop & "Space"
    S = S & TabStop & "Number" & NewLine

    ' 分隔行。
    S = S & String(105, "-") & NewLine

    For Each Drive In Drives

        S = S & Drive.DriveLetter
        S = S & TabStop & Drive.Path
        S = S & TabStop & ShowDriveType(Drive)
        S = S & TabStop & Drive.IsReady

        If Drive.IsReady Then
            If DriveTypeNetwork = Drive.DriveType Then
                S = S & TabStop & Drive.ShareName
            Else
                S = S & TabStop & Drive.VolumeName
            End If

            S = S & TabStop & Drive.FileSystem
            S = S & TabStop & Drive.TotalSize
            S = S & TabStop & Drive.FreeSpace
            S = S & TabStop & Drive.AvailableSpace
            S = S & TabStop & Hex(Drive.SerialNumber)

        End If

        S = S & NewLine

    Next

    GenerateDriveInformation = S

End Function

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'
' GenerateFileInformation
'
' 目的：
'
' 生成一个字符串，来描述文件的当前状态。
'
' 示范下面的内容
'
' - File.Path
' - File.Name
' - File.Type
' - File.DateCreated
' - File.DateLastAccessed
' - File.DateLastModified
' - File.Size
'
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Function GenerateFileInformation(File)

    Dim S

    S = NewLine & "Path:" & TabStop & File.Path
    S = S & NewLine & "Name:" & TabStop & File.Name
    S = S & NewLine & "Type:" & TabStop & File.Type
    S = S & NewLine & "Attribs:" & TabStop & ShowFileAttr(File)
    S = S & NewLine & "Created:" & TabStop & File.DateCreated
    S = S & NewLine & "Accessed:" & TabStop & File.DateLastAccessed
    S = S & NewLine & "Modified:" & TabStop & File.DateLastModified
    S = S & NewLine & "Size" & TabStop & File.Size & NewLine

    GenerateFileInformation = S

End Function

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'
' GenerateFolderInformation
'
' 目的：
'
' 生成一个字符串，来描述文件夹的当前状态。
'
' 示范下面的内容
'
' - Folder.Path
' - Folder.Name
' - Folder.DateCreated
' - Folder.DateLastAccessed
' - Folder.DateLastModified
' - Folder.Size
'
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Function GenerateFolderInformation(Folder)

    Dim S

    S = "Path:" & TabStop & Folder.Path
    S = S & NewLine & "Name:" & TabStop & Folder.Name
    S = S & NewLine & "Attribs:" & TabStop & ShowFileAttr(Folder)
    S = S & NewLine & "Created:" & TabStop & Folder.DateCreated
    S = S & NewLine & "Accessed:" & TabStop & Folder.DateLastAccessed
    S = S & NewLine & "Modified:" & TabStop & Folder.DateLastModified
    S = S & NewLine & "Size:" & TabStop & Folder.Size & NewLine

    GenerateFolderInformation = S

End Function

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'
' GenerateAllFolderInformation
'
' 目的：
'
' 生成一个字符串，来描述一个文件夹和所有文件及子文件夹的当前状态。
'
' 示范下面的内容
'
' - Folder.Path
' - Folder.SubFolders
' - Folders.Count
'
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Function GenerateAllFolderInformation(Folder)

    Dim S
    Dim SubFolders
    Dim SubFolder
    Dim Files
    Dim File

    S = "Folder:" & TabStop & Folder.Path & NewLine & NewLine

    Set Files = Folder.Files

    If 1 = Files.Count Then
        S = S & "There is 1 file" & NewLine
    Else
        S = S & "There are " & Files.Count & " files" & NewLine
    End If

    If Files.Count <> 0 Then

        For Each File In Files
            S = S & GenerateFileInformation(File)
        Next

    End If

    Set SubFolders = Folder.SubFolders

    If 1 = SubFolders.Count Then
        S = S & NewLine & "There is 1 sub folder" & NewLine & NewLine
    Else
        S = S & NewLine & "There are " & SubFolders.Count & " sub folders" & NewLine & NewLine
    End If

    If SubFolders.Count <> 0 Then

        For Each SubFolder In SubFolders
            S = S & GenerateFolderInformation(SubFolder)
        Next

        S = S & NewLine

        For Each SubFolder In SubFolders
            S = S & GenerateAllFolderInformation(SubFolder)
        Next

    End If

    GenerateAllFolderInformation = S

End Function

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'
' GenerateTestInformation
'
' 目的：
'
' 生成一个字符串，来描述 C:\Test 文件夹和所有文件及子文件夹的当前状态。
'
' 示范下面的内容
'
' - FileSystemObject.DriveExists
' - FileSystemObject.FolderExists
' - FileSystemObject.GetFolder
'
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Function GenerateTestInformation(FSO)

    Dim TestFolder
    Dim S

    If Not FSO.DriveExists(TestDrive) Then Exit Function
    If Not FSO.FolderExists(TestFilePath) Then Exit Function

    Set TestFolder = FSO.GetFolder(TestFilePath)

    GenerateTestInformation = GenerateAllFolderInformation(TestFolder)

End Function

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'
' DeleteTestDirectory
'
' 目的：
'
' 清理 test 目录。
'
' 示范下面的内容
'
' - FileSystemObject.GetFolder
' - FileSystemObject.DeleteFile
' - FileSystemObject.DeleteFolder
' - Folder.Delete
' - File.Delete
'
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Sub DeleteTestDirectory(FSO)

    Dim TestFolder
    Dim SubFolder
    Dim File

    ' 有两种方法可用来删除文件：

    FSO.DeleteFile(TestFilePath & "\Beatles\OctopusGarden.txt")

    Set File = FSO.GetFile(TestFilePath & "\Beatles\BathroomWindow.txt")
    File.Delete

    ' 有两种方法可用来删除文件夹：

    FSO.DeleteFolder(TestFilePath & "\Beatles")

    FSO.DeleteFile(TestFilePath & "\ReadMe.txt")

    Set TestFolder = FSO.GetFolder(TestFilePath)
    TestFolder.Delete

End Sub

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'
' CreateLyrics
'
' 目的：
'
' 在文件夹中创建两个文本文件。
'
'
' 示范下面的内容
'
' - FileSystemObject.CreateTextFile
' - TextStream.WriteLine
' - TextStream.Write
' - TextStream.WriteBlankLines
' - TextStream.Close
'
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Sub CreateLyrics(Folder)

    Dim TextStream

    Set TextStream = Folder.CreateTextFile("OctopusGarden.txt")

    TextStream.Write("Octopus' Garden ") ' 请注意，该语句不添加换行到文件中。
    TextStream.WriteLine("(by Ringo Starr)")
    TextStream.WriteBlankLines(1)
    TextStream.WriteLine("I'd like to be under the sea in an octopus' garden in the shade,")
    TextStream.WriteLine("He'd let us in, knows where we've been -- in his octopus' garden in the shade.")
    TextStream.WriteBlankLines(2)

    TextStream.Close

    Set TextStream = Folder.CreateTextFile("BathroomWindow.txt")
    TextStream.WriteLine("She Came In Through The Bathroom Window (by Lennon/McCartney)")
    TextStream.WriteLine("")
    TextStream.WriteLine("She came in through the bathroom window protected by a silver spoon")
    TextStream.WriteLine("But now she sucks her thumb and wanders by the banks of her own lagoon")
    TextStream.WriteBlankLines(2)
    TextStream.Close

End Sub

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'
' GetLyrics
'
' 目的：
'
' 显示 lyrics 文件的内容。
'
'
' 示范下面的内容
'
' - FileSystemObject.OpenTextFile
' - FileSystemObject.GetFile
' - TextStream.ReadAll
' - TextStream.Close
' - File.OpenAsTextStream
' - TextStream.AtEndOfStream
' - TextStream.ReadLine
'
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Function GetLyrics(FSO)

    Dim TextStream
    Dim S
    Dim File

    ' 有多种方法可用来打开一个文本文件，和多种方法来从文件读取数据。
    ' 这儿用了两种方法来打开文件和读取文件：

    Set TextStream = FSO.OpenTextFile(TestFilePath & "\Beatles\OctopusGarden.txt", OpenFileForReading)

    S = TextStream.ReadAll & NewLine & NewLine
    TextStream.Close

    Set File = FSO.GetFile(TestFilePath & "\Beatles\BathroomWindow.txt")
    Set TextStream = File.OpenAsTextStream(OpenFileForReading)
    Do 	While Not TextStream.AtEndOfStream
        S = S & TextStream.ReadLine & NewLine
    Loop
    TextStream.Close

    GetLyrics = S

End Function

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'
' BuildTestDirectory
'
' 目的：
'
' 创建一个目录分层结构来示范 FileSystemObject。
'
' 以这样的次序来创建分层结构：
'
' C:\Test
' C:\Test\ReadMe.txt
' C:\Test\Beatles
' C:\Test\Beatles\OctopusGarden.txt
' C:\Test\Beatles\BathroomWindow.txt
'
'
' 示范下面的内容
'
' - FileSystemObject.DriveExists
' - FileSystemObject.FolderExists
' - FileSystemObject.CreateFolder
' - FileSystemObject.CreateTextFile
' - Folders.Add
' - Folder.CreateTextFile
' - TextStream.WriteLine
' - TextStream.Close
'
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Function BuildTestDirectory(FSO)

    Dim TestFolder
    Dim SubFolders
    Dim SubFolder
    Dim TextStream

    ' 排除(a)驱动器不存在，或(b)要创建的目录已经存在的情况。

    If Not FSO.DriveExists(TestDrive) Then
        BuildTestDirectory = False
        Exit Function
    End If

    If FSO.FolderExists(TestFilePath) Then
        BuildTestDirectory = False
        Exit Function
    End If

    Set TestFolder = FSO.CreateFolder(TestFilePath)

    Set TextStream = FSO.CreateTextFile(TestFilePath & "\ReadMe.txt")
    TextStream.WriteLine("My song lyrics collection")
    TextStream.Close

    Set SubFolders = TestFolder.SubFolders

    Set SubFolder = SubFolders.Add("Beatles")

    CreateLyrics SubFolder

    BuildTestDirectory = True

End Function

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'
' 主程序
'
' 首先，它创建一个 test 目录，以及一些子文件夹和文件。
' 然后，它转储有关可用磁盘驱动器和 test 目录的某些信息，
' 最后，清除 test 目录及其所有内容。
'
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Sub Main

    Dim FSO

    ' 设立全局变量。
    TabStop = Chr(9)
    NewLine = Chr(10)

    Set FSO = CreateObject("Scripting.FileSystemObject")

    If Not BuildTestDirectory(FSO) Then
        Print "Test directory already exists or cannot be created.  Cannot continue."
        Exit Sub
    End If

    Print GenerateDriveInformation(FSO) & NewLine & NewLine

    Print GenerateTestInformation(FSO) & NewLine & NewLine

    Print GetLyrics(FSO) & NewLine & NewLine

    DeleteTestDirectory(FSO)

End Sub


固有对象

固有对象
 JScript 教程
上一个

Microsoft JScript 提供了九个固有（或称“内置”）对象。它们是 Array、Boolean、Date、Function、Global、Math、Number、Object和String 对象。 每个固有对象都有与之关联的方法和属性，这些方法和属性均在语言参考中详细描述。 这里描述了几个对象。
Array 对象
在 JScript 中，对象作为数组处理，数组作为对象处理。数组的下标完全等价于对象的属性，可以按数字引用（如果对其指定了名称，则也可以按名称来引用）。要创建一个新数组，请使用 new 运算符和 Array() 构造函数，如下例所示。
var theMonths = new Array(12)  {
theMonths[0] = "一月";
theMonths[1] = "二月";
theMonths[2] = "三月";
theMonths[3] = "四月";
theMonths[4] = "五月";
theMonths[5] = "六月";
theMonths[6] = "七月";
theMonths[7] = "八月";
theMonths[8] = "九月";
theMonths[9] = "十月";
theMonths[10] = "十一月";
theMonths[11] = "十二月";
}
在使用 Array 关键字来创建数组时，JScript 在该数组中包括了一个只写的 length 属性，用来记录数组中的项数。如果您没有指定一个数值，则 length 被设置为 0，且数组没有任何项。如果您指定了一个数值，则 length 被设置为该数值。如果您指定了多个参数，则这些参数将作为数组的项，并将参数的个数指定给 length 属性，如下例所示。该示例与上一节示例等价。
var theMonths = new Array("一月", "二月", "三月", "四月", "五月", "六月",
"七月", "八月", "九月", "十月", "十一月", "十二月");
对于使用 Array 关键字创建的数组，当给数组添加元素时，JScript 将自动更改 length 的数值。
String 对象
在 JScript 中字符串是对象。这意味着在任何时候声明一个字符串变量或使用一个字符串文字，实际上就是创建一个新的字符串对象。String 对象有若干内置方法，您可以对该字符串使用这些方法。其中一个方法是 substring 方法，用于返回该字符串的一部分。该方法需要两个数字作为其参数。
aString = "0123456789";
var aChunk = aString.substring(4, 7);  // 将 aChunk 设置为 "456"。
var aNotherChunk = aString.substring(7, 4);  // 将 aNotherChunk 设置为 "456"。

// 使用前面的 Array 创建示例：
firstLetter = theMonths [5].substring(0,1);  // 将 firstLetter 变量设置为 "J"。
String 对象的另一个属性是 length 属性。该属性包含该字符串中的字符个数，如果是空字符串则该属性为 0。这是一个数值型数值，并可以在计算中直接使用。
var howLong = "Hello World".length  // 将 howLong 变量设置为 11。
Math 对象
Math 对象有许多属性和方法，全部都是预定义的。这些属性都是特定数值。其中一个是 pi 的值（近似为 3.14159...）。下面就是 Math.PI 属性的示例。
//  radius 变量已经声明并赋值。
var circleArea = Math.PI * radius * radius;  // 注意 Math 和 PI 的大写。
Math 对象的内置方法之一是求幂，即 pow 方法，求一个数的指定幂次。下例使用了 pi 属性和求幂方法。
// 该公式计算给定半径的球体的体积。
volume = (4/3)*(Math.PI*Math.pow(radius,3));
Date 对象
使用 Date 对象可获得当天的日期，并计算日期之间的间隔。该对象有许多属性和方法，都是预定义的。通常， Date 对象提供了星期几、月、日、年；以及包括时、分、秒的时间信息。该信息以从 1970 年 1 月 1 日 00:00:00.000 GMT 以来的毫秒数为基准。GMT 代表“格林尼治标准时间”；更标准的术语是 UTC 或曰“全球标准时间”，这是由世界时间标准组织（World Time Standard）发布的符号。

注意 就 JScript 而言，时间是从 1970 年 1 月 1日的午夜开始的，您不能让 JScript 创建一个 Date 对象来表示在此之前的时间。如果需要处理更早的时间，您必须自己编写代码实现，这可是一个艰巨的任务。

要创建一个新的 Date 对象，您可以使用 new 运算符。下面的示例计算今年已经过去的天数和还剩下的天数。

/*
该示例使用了前面定义的月份数组。第一个语句将今天的日期指定给 thisIsToday，其格式为 "周工作日 月份 日 00:00:00 年份"。
*/
var thisIsToday = new Date();

var toDay = new Date();  // 获取今天的日期。

// 提取年、月、日信息。
var thisYear = toDay.getYear() + 1900;
var thisMonth = theMonths[toDay.getMonth()];
var thisDay = thisMonth  + " " + toDay.getDate() + "," + (parseInt(toDay.getYear()) + 1900);

// 确定从开始以来的天数 #。
thisDay = Math.round(Date.parse(thisDay)/8.64e7);

// 对今年的第一天采取同样的操作。
var firstDay = "Jan 1, " + thisYear;
firstDay = Math.floor(Date.parse(firstDay)/8.64e7);

// 对今年的最后一天在此采取同样的操作，以防止闰年。
var lastDay = "Dec 31, " + thisYear;
lastDay = Math.floor(Date.parse(lastDay)/8.64e7);

// 计算这一年的天数。
var daysInYear = (lastDay - firstDay) + 1;

// 确定已过去多少天，还剩下多少天。
var daysElapsed = thisDay - firstDay;
var daysLeft = daysInYear - daysElapsed;

// 对普遍情况建立评论。
var comment1 = "今年已过去 " + daysElapsed+ " 天。";
var comment2 = "这意味着在 " + "thisYear" + " 还有 " + daysLeft + " 天。";

// 包含特殊情况：一年的开始&结束，以及只剩一天。
if (daysElapsed == 0)  {
comment1 = "今天是 " + thisYear + " 的 1 月 1 日。";
}
if (daysElapsed == 1) {
comment1 = "只过去了一天。";
}
if(daysElapsed == daysInYear) {
comment1 = thisYear + " 快要结束了。";
}

if (daysLeft == 0)  {
comment2 = "新年最诚挚的祝福！";
}
if (daysLeft == 1)  {
comment2 = thisYear + "只剩下一天了。";
}
if (daysLeft == daysInYear)  {
comment2 = "新年快乐！";
}
Number 对象
除了在 Math 对象中可用的特定数值属性（例如 PI ）之外，在 Microsoft JScript 中还可以由 Number 对象得到若干其他属性。

属性 | 描述
MAX_VALUE 最大的可能数值，大约为 1.79E+308； 可以是正数也可以是负数。（对不同的系统这个数值有稍许变化。）
MIN_VALUE | 最小的可能数值，大约为 2.22E-308；可以是正数也可以是负数。（对不同的系统这个数值有稍许变化。）
NaN | 专用的非数值型取值，“不是一个数。”
POSITIVE_INFINITY 任何比 Number.MAX_VALUE 大的正数
都将自动转换为这个值；用 "Inf" 表示。
NEGATIVE_INFINITY 任何比 -Number.MAX_VALUE 更小的负数
都将自动转换为这个值；用 "-Inf" 表示。

Number.NaN 是一个特别的属性，被定义为“不是一个数”。例如，除零操作将返回 NaN。对一个不能解释为数值的字符串进行转换也将返回 Number.NaN。NaN 不等于任何数值，也不等于它本身。如果要对 NaN 结果进行测试，请不要对 Number.NaN 进行比较；而应使用 isNaN() 函数。


创建自己的对象

创建自己的对象
 JScript 教程
上一页

要创建一个对象的实例，首先必须定义该对象，即通过给定适当的属性以及方法。例如，下面的示例定义了一个 pasta 对象。请注意关键字 this，需要使用这个关键字来引用当前对象。
function pasta( grain, grain2, width, shape, shapenum, extent, egg )
{
  this.length = 7;   			// 对象的属性数量，不包括其本身。
  this.grain = grain;   		// 是用哪种粮食制成的？ (string 类型)
  this.grain2 = grain2;   		// 是否使用了其他面粉？ (string 类型)
  this.width = width;    		// 有多宽？ (number 类型)
  this.shape = shape;  		// 横截面是什么类型？ (string 类型)
  this.shapenum = shapenum; 		// 是某种已登记的形状吗？ (number 类型)
  this.extent = extent;    		// 有多长？ (number 类型)
  this.egg = egg;  			// 是否使用了蛋黄作为粘合剂？ (Boolean 类型)
}
在定义了对象后，就可以使用 new 运算符来创建该对象的实例。
var spaghetti = new pasta("wheat", "", 0.2, "circle", 9, 30, true);
var linguine = new pasta("wheat", "", 0.3, "oval", 17, 30, true);
可以给一个对象的实例添加属性来更改该实例，但这些属性不会成为该对象定义的一部分，除非专门添加该属性，否则也不会在其他实例中出现。如果希望在该对象的所有实例中都具有额外的属性，必须将其添加到该对象的定义部分。
// 给 spaghetti 添加额外的属性。
spaghetti.color = "pale straw";
spaghetti.drycook = 7;
spaghetti.freshcook = 0.5;

var chowFun = new pasta("rice", "", 3, "flat", , 12, false);
/*
chowFun 对象、linguine 对象和 pasta 对象的定义中都没有给 spaghetti 对象的三个额外属性。
*/
在定义部分包括方法
在对象的定义部分也可以包括方法。下面的示例创建了一个由字符串数组和一个方法组成的对象。该方法将一个字符串添加到该数组，同时增加了该数组的大小。请注意这将使得该对象的每个实例能无限地增大。
function addItem(newItem)  			// 定义一个扩大列表的函数。
{
    this.length += 1;  			// 增加数组的长度。
    this[(this.length-1)] = newItem;  		// 添加新项，并保持项的编号方式。
}

function shoppingList(firstItem) 		// 定义一个 "shopping list" 对象。
{
    this.length = 2; 				// 该对象的属性个数，不包括该一个。
    this.addItem = addItem;  			// 包括 addItem 函数，作为一个方法。
    this[(this.length-1)] = firstItem; 		// 第一项的编号为 1。
}

var myList = new shoppingList("Milk");
myList.addItem("Eggs"); 			// 使用该方法来添加 Eggs，这将成为第 2 项。
myList.addItem("Breadfruit");  			// Breadfruit 变成第 3 项。
此时，该数组的内容如下：
  • myList[length] 为 4
  • myList[addItem] 为 addItem 函数
  • myList[1] 为 Milk
  • myList[2] 为 Eggs
  • myList[3] 为 Breadfruit
请注意，如果索引是按照严格的数字方式处理，则该索引可能与您所预期的不完全一致。如果对该数组执行 for...in 循环，该循环将按照此处给出的顺序进行循环，且循环变量为 "length" 的初始值，而不是 0。


FileSystemObject 词汇

Microsoft(R) Scripting 库 - FileSystemObject
FileSystemObject 词汇 		Scripting 运行时库参考

数组
一组具有相同数据类型，有序索引元素。数组的每个元素有唯一的标识索引号。改变数组的一个元素并不影响其他元素。

集合
包含一组相关对象的对象。只要集合中发生了变化，则对象在集合中的位置就可能改变；因而，任何特定的对象在集合中的位置都可能发生了改变。

运行时间错误
在代码运行时发生的错误。当语句试图执行一个非法操作时，就会产生一个运行时间错误。

字符串表达式
值等于一个连续字符序列的任何表达式。字符串表达式的元素，可以包括返回值是字符串、字符串文字、字符串常数或字符串变量的函数。

类型库
在另一个文件中的文件或组件，它含有对被显露对象、属性和方法的标准描述。


JScript 词汇表

JScript 词汇表 		语言参考

ASCII 字符集
美国标准信息交换编码 (ASCII) 的 7 位字符集，它被广泛地用来表示标准的美国键盘上的字母和符号。ASCII 字符集与 ANSI 字符集中的头 128 个字符 (0–127) 完全相同。

Automation 对象
通过 Automation 接口可以被其他应用程序或编程工具使用的对象。

按位比较
对两个数值表达式中相同位置上的位进行的逐位比较。

Boolean 表达式
一个值为 true 或者 false 的表达式。如果需要，非 Boolean 表达式也可以被转换为 Boolean 值，但是要遵循下列规则：
  • 所有的对象都被当作 true。
  • 当且仅当字符串为空时，该字符串被当作 false。
  • null 和 undefined 被当作 false。
  • 当且仅当数字为零时，该数字被当作 false。

字符编码
用来表示一个集合，诸如 ASCII 字符集，中特定字符的数字。

类
对象的形式定义。类的作用就相当于一个模板，在运行时可以根据此模板来创建对象的一个实例。类定义对象的各种属性并且定义各种方法以便控制对象的操作。

注释
程序员向代码中添加的文本，用来说明代码是如何工作的。在 JScript 中，一行注释通常以 // 开头。如果要创建多行的注释，请使用 /* 和 */ 定界符。

比较运算符
表示两个或更多的表达式或值之间关系的字符或符号。这些运算符包括小于 (<)、小于或等于 (<=)、大于 (>)、大于或等于 (>=)、不等 (!=) 和等于 (==)。

复合语句
用大括号 ({}) 括起来的语句序列。复合语句可以被用来在需要使用单行语句的地方完成多项任务。

构造函数
一种 JScript 函数，具有两个特殊的性质：
  • 由 new 运算符来调用此函数。
  • 通过 this 关键字将新创建对象的地址传递到此函数。
请使用构造函数来初始化新的对象。

表达式
关键字、运算符、变量以及文字的组合，用来生成字符串、数字或对象。一个表达式可以完成计算、处理字符、调用函数、或者验证数据等操作。

固有对象
固有对象是作为标准 JScript 语言一部分的一种对象。所有的脚本都可以使用这种对象。JScript 中的固有对象包括 Array，Boolean，Date， Function，Global，Math，Number，Object，RegExp，Regular Expression，和 String。

本地时间
本地时间指的是脚本被执行的服务器或客户机上的时间。

区域设置
对应于给定语言或国家/地区的一系列信息。区域设置影响预定义编程术语所使用的语言并影响一些跟区域设置相关的设置。在下面两种情况下区域设置信息很重要：
  • 代码区域设置影响术语，诸如关键字，所使用的语言并定义与区域设置相关的设置，诸如十进制分隔符和列表分隔符、日期格式、和字符排序的顺序等。
  • 系统区域设置影响一些与区域设置相关的功能的执行方式，例如，显示数字或将字符串转换为日期等。可以在操作系统所提供的“控制面板”实用程序中调整系统“区域选项”的设置。

null
null 值指出一个变量中没有包含有效的数据。产生 null 的原因是：
  • 对一个变量显式地赋值为 null。
  • 包含 null 的表达式之间的任何操作。

数值表达式
数值表达式指的是任何值为数字的表达式。这种表达式的元素可以包括关键字、变量、文字和运算符的任意组合，只要此组合能够生成一个数字。在特定的情况下，如果可以的话，字符串也可以被转换为数字。

基本
一种数据类型，是 JScript 语言的一部分并通过值来进行操作。在 JScript 中，数字、Boolean、字符串和函数等数据类型都被看成 primitive。而对象和数组则不是基本数据类型。

属性
对象的一种命名的特性。属性定义了对象的一些特性，诸如大小、颜色和屏幕位置，或对象的状态，诸如可用的或禁止的。

运行时错误
代码运行过程中出现的错误。如果一条语句试图进行非法操作，那么就会导致一个运行时错误。

范围
定义一个变量、过程或对象的可见性。在函数中定义的变量仅在函数内部可见，在调用该函数时并不能保持其值。

字符串比较
两个字符序列之间的比较。除非在进行比较操作的函数中指出，所有的字符串比较操作都是二进制的。在英语中，二进制比较区分大小写；而文本比较则不区分。

字符串表达式
任何值为一个连续字符序列的表达式。一个字符串表达式的元素可以包括返回字符串的函数，字符串文字，String 对象，或者字符串变量。

未定义
在变量被创建之后和被赋给值之前分配给该变量的一个特殊值。

全球标准时间 (UTC)
全球标准时间指的是由世界时间标准设定的时间。原先也被称为格林威治标准时间或者 GMT。

用户定义对象
由用户在源代码中创建的对象。

变量
用于按名称来保存并操作值的位置。因为 JScript 的类型是自由的，在一个脚本过程中，单个变量可以保存不同的数据类型。

包装器
一种对象，被创建来为一些其他类型数据提供对象风格的接口。Number 和 Boolean 对象就是包装器对象的例子。


运算符操作

运算符操作 		语言参考
版本 1

下表描述了大多数 Microsoft JScript 运算符的操作。行和列分别代表在 JScript 中一个运算符两边可能的不同表达式类型。而表中的各项说明了操作结果。

E 表示运行时间错误。而 N 表示数值结果，如果是逻辑运算符，则表示 Boolean 结果。

obj | as | ns | num | bool | undef | null
obj | N | E | N | N | N | E | E
as | E | E | E | E | E | E | E
ns | N | E | N | N | N | E | E
num | N | E | N | N | N | E | E
bool | N | E | N | N | N | E | E
undef | E | E | E | E | E | E | E
null | E | E | E | E | E | E | E

obj = 对象、as = 包含文字和数字的字符串、ns = 数字字符串、num = 数字、bool = Boolean、undef = undefined、null = null 值。


concat 方法 (数组)

concat 方法 (数组) 		语言参考
版本 3

请参阅 应用于

描述
返回一个新数组，这个新数组是由两个数组组合而成的。
语法
array1.concat(array2)

concat 方法的语法包括下面这些部分：

部分 | 描述
array1 | 必选项。一个与 array2 进行连接的 Array 对象。
array2 | 必选项。一个连接到 array1 末尾的 Array 对象。

说明
concat 方法返回一个 Array 对象，其中包含了 array1 和 array2 的连接。

如果一个对象引用被从 array1 或 array2 复制到结果中，那么结果中的对象引用仍然指向同一个对象。对该对象的改变将同时反映在两个数组中。

下面这个例子说明了 concat 方法的用法:

function ConcatArrayDemo()
{
  var a, b, c;
  a = new Array(0,1,2,3,4);
  b = new Array(5,6,7,8,9);
  c = a.concat(b);
  return(C)
}


concat 方法 (Array)

concat 方法 (Array)
应用于 		语言参考

Array 对象
String 对象


concat 方法 (Array)

concat 方法 (Array)
请参阅 		语言参考

concat 方法 (String)
join 方法


join 方法

join 方法 		语言参考
版本 2

请参阅 应用于

描述
返回一个 String 对象，这个字符串对象是由整个数组的所有元素连接在一起而形成的。
语法

arrayobj.join(separator)

其中 separator 参数是一个 String 对象，它被用来在最终的 String 对象中对数组元素之间的分隔符。如果省略了这个参数，那么数组元素之间就用一个空字符串来分隔。

说明
join 方法返回一个 String 对象，这个对象中包括了数组中的所有元素，这些元素都已被转换成字符串并且被连接在一起。

下面这个例子说明了 join 方法的用法：

function JoinDemo()
{
  var a, b;
  a = new Array(0,1,2,3,4);
  b = a.join("-");
  return(b);
}


join 方法

join 方法
应用于 		语言参考

Array 对象


join 方法

join 方法
请参阅 		语言参考

Array 对象的方法
String 对象


length 属性 (Array)

length 属性 (数组) 		语言参考
版本 2

请参阅 应用于

描述
返回一个整数值，这个整数比数组中所定义的最高位元素的下标大 1。
语法

numVar = arrayObj.length

说明
因为一个数组中的元素并不一定是连续的，所以 length 属性也并不一定就等于数组中的元素个数。例如，在下面的数组定义中，my_array.length 中就包含 7，而不是 2：
var my_array = new Array( );
my_array[0] = "Test";
my_array[6] = "Another Test";
如果 length 属性被赋予了一个比原先值小的数值，那么数组就被截断，所有数组下标等于或者大于 length 属性的新值的元素都会被丢失。

如果 length 属性被赋予了一个比原先值大的数值，那么数组就被扩展，且所有新建元素都被赋值为 undefined。

下面这个例子说明了 length 属性的用法:

function LengthDemo()
{
  var a, l;
  a = new Array(0,1,2,3,4);
  l = a.length;
  return(l);
}


length 属性 (Array)

length 属性 (Array)
应用于 		语言参考

Array 对象


length 属性 (Array)

length 属性 (Array)
请参阅 		语言参考

length 属性 (Function)
length 属性 (String)


reverse 方法

reverse 方法 		语言参考
版本 2

请参阅 应用于

描述
返回一个元素顺序被反转的 Array 对象。
语法
arrayobj.reverse( )
说明
reverse 方法将一个 Array 对象中的元素位置进行反转。在执行过程中，这个方法并不会创建一个新的 Array 对象。

如果数组是不连续的，reverse 方法将在数组中创建元素以便填充数组中的间隔。这样所创建的全部元素的值都是 undefined。

下面这个例子说明了 reverse 方法的用法：

function ReverseDemo()
{
  var a, l;
  a = new Array(0,1,2,3,4);
  l = a.reverse();
  return(l);
}


reverse 方法

reverse 方法
应用于 		语言参考

Array 对象


reverse 方法

reverse 方法
请参阅 		语言参考

Array 对象的方法


slice 方法 (Array)

slice 方法 (Array) 		语言参考
版本 3

请参阅 应用于

描述
返回一个数组的一段。
语法
arrayObj.slice(start, [end])

slice 方法的语法包括下面这些部分：

部分 | 描述
arrayObj | 必选项。一个 Array 对象。
start | 必选项。arrayObj 中所指定的部分的开始元素是从零开始计算的下标。
end | 可选项。arrayObj 中所指定的部分的结束元素是从零开始计算的下标。

说明
slice 方法返回一个 Array 对象，其中包含了 arrayObj 的指定部分。

slice 方法一直复制到 end 所指定的元素，但是不包括该元素。如果end 值为负，那就说明 end 是从 arrayObj 结尾计算的偏移量。此外，它不是从零开始计数的。如果省略了这个值，那么 slice 方法将一直复制到 arrayObj 的结尾。

在下面这个例子中，除了最后一个元素之外，myArray 中所有的元素都被复制到 newArray 中：

newArray = myArray.slice(0, -1)
如果一个对象引用被从 arrayObj 复制到结果中，结果中的该对象引用仍然指向同一个对象。对该对象的改变将被同时反映在两个数组上。


slice 方法

slice 方法
应用于 		语言参考

Array 对象
String 对象


slice 方法

slice 方法
请参阅 		语言参考

slice 方法 (String)


sort 方法

sort 方法 		语言参考
版本 2

请参阅 应用于

描述

返回一个元素已经进行了排序的 Array 对象。

语法
arrayobj.sort(sortfunction)

sortfunction 参数是用来确定元素顺序的函数的名称。如果这个参数被省略，那么元素将按照 ASCII 字符顺序进行升序排列。

说明
sort 方法将 Array 对象进行适当的排序；在执行过程中并不会创建新的 Array 对象。

如果为 sortfunction 参数提供了一个函数，那么该函数必须返回下列值之一：

  • 负值，如果所传递的第一个参数比第二个参数小。
  • 零，如果两个参数相等。
  • 正值，如果第一个参数比第二个参数大。

下面这个例子说明了 sort 方法的用法：

function SortDemo()
{
  var a, l;
  a = new Array("X" ,"y" ,"d", "Z", "v","m","r");
  l = a.sort();
  return(l);
}


sort 方法

sort 方法
应用于 		语言参考

Array 对象


sort 方法

sort 方法
请参阅 		语言参考

Array 对象的方法


Drives 集合

Drives 集合 		Scripting 运行时库参考
版本 3

请参阅 属性 方法

描述
所有可用驱动器的只读集合。
说明
可移动媒体的驱动器不需要插入媒体，就可以出现在 Drives 集合中。

下面这个例子说明了如何使用 Drives 属性来获取 Drives 集合以及如何使用 Enumerator 对象来遍历该集合：

function ShowDriveList()
{
  var fso, s, n, e, x;
  fso = new ActiveXObject("Scripting.FileSystemObject");
  e = new Enumerator(fso.Drives);
  s = "";
  for (; !e.atEnd(); e.moveNext())
  {
    x = e.item();
    s = s + x.DriveLetter;
    s += " - ";
    if (x.DriveType == 3)
      n = x.ShareName;
    else if (x.IsReady)
      n = x.VolumeName;
    else
      n = "[Drive not ready]";
    s +=  n + "<br>";
  }
  return(s);
}


Drives 集合

Drives 集合
请参阅 		Scripting 运行时库参考

Drive 对象
Drives 属性
File 对象
Files 集合
Folder 对象
Folders 集合


Drives 集合

Drives 集合
方法 		Scripting 运行时库参考

Drives 集合没有方法。


Drives 集合

Drives 集合
属性 		Scripting 运行时库参考

Count 属性
Item 属性


Files 集合

Files 集合 		Scripting 运行时库参考
版本 3

请参阅 属性 方法

描述
一个文件夹中所有 File 对象的集合。
说明
下面这个例子说明了如何获得一个 Files 集合以及如何使用 Enumerator 对象和 for 语句来遍历该集合：
function ShowFolderFileList(folderspec)
{
  var fso, f, f1, fc, s;
  fso = new ActiveXObject("Scripting.FileSystemObject");
  f = fso.GetFolder(folderspec);
  fc = new Enumerator(f.files);
  s = "";
  for (; !fc.atEnd(); fc.moveNext())
  {
      s += fc.item();
      s += "<br>";
  }
  return(s);
}


Files 集合

Files 集合
请参阅 		Scripting 运行时库参考

Drive 对象
Drives 集合
File 对象
Folder 对象
Folders 集合


Files 集合

Files 集合
方法 		Scripting 运行时库参考

Files 集合没有方法。


Files 集合

Files 集合
属性 		Scripting 运行时库参考

Count 属性
Item 属性


Folders 集合

Folders 集合 		Scripting 运行时库参考
版本 3

请参阅 属性 方法

描述
一个 Folder 对象中所包含的所有 Folder 对象的集合。
说明
下面这个例子说明了如何获得一个 Folders 集合以及如何使用 Enumerator 对象和 for 语句来遍历该集合：
function ShowFolderList(folderspec)
{
  var fso, f, fc, s;
  fso = new ActiveXObject("Scripting.FileSystemObject");
  f = fso.GetFolder(folderspec);
  fc = new Enumerator(f.SubFolders);
  s = "";
  for (; !fc.atEnd(); fc.moveNext())
  {
    s += fc.item();
    s += "<br>";
  }
  return(s);
}


Folders 集合

Folders 集合
请参阅 		Scripting 运行时库参考

Drive 对象
Drives 集合
File 对象
Files 集合
Folder 对象
SubFolders 属性


Folders 集合

Folders 集合
方法 		Scripting 运行时库参考

Add 方法 (Folders)


Folders 集合

Folders 集合
属性 		Scripting 运行时库参考

Count 属性
Item 属性


条件编译

条件编译 		语言参考
版本 3

请参阅

描述
允许使用 JScript 语言的新特性，同时保持与不支持这些新功能的浏览器之间的兼容性。
说明
通过在注释外部使用 @cc_on 语句或者使用 @if 或 @set 语句，就可以激活条件编译。条件编译的一些典型用法包括了使用 JScript 中的一些新功能，在脚本中嵌入对调试的支持，以及跟踪代码的执行等。

我们极力推荐将条件编译代码放置在注释中：

/*@cc_on @*/
/*@if (@_jscript_version == 4)
   alert("JScript version 4");
   @else @*/
   alert("You need a more recent script engine.");
/*@end @*/
本例中使用了一种特殊的注释定界符，这种定界符只有在 @cc_on 条件编译语句激活的情况下才可以使用。不支持条件编译的 Scripting 引擎只能看到一条需要新的 scripting 引擎的提示消息。


条件编译

条件编译
请参阅 		语言参考

条件编译变量
@cc_on 语句
@if 语句
@set 语句


条件编译变量

条件编译变量 		语言参考
版本 3

请参阅

条件编译可以使用下面这些预定义的变量。如果一个变量值不是 true，那么它就是没有经过定义的，而且如果使用这种变量，它就相当于 NaN。

变量 | 描述
@_win32 | true 如果在 Win32 系统上运行。
@_win16 | true 如果在 Win16 系统上运行。
@_mac | true 如果在 Apple Macintosh 系统上运行。
@_alpha | true 如果在 DEC Alpha 处理器上运行。
@_x86 | true 如果在 Intel 处理器上运行。
@_mc680x0 | true 如果在 Motorola 680x0 处理器上运行。
@_PowerPC | true 如果在 Motorola PowerPC 处理器上运行。
@_jscript | 总是为 true。
@_jscript_build | 包含 JScript scripting 引擎的编译序号。
@_jscript_version | 包含以 major.minor 格式表示的 JScript 版本号。


条件编译变量

条件编译变量
请参阅 		语言参考

条件编译
@cc_on 语句
@if 语句
@set 语句


jscopy

版权说明

本文档中的信息可以在事先不发出通知的情况下进行改变。除非通过其他方式进行了说明，本文档中所提及的公司、产品、人物、角色和/或数据的名称都是虚构的，并不代表任何真正的个人、公司、产品或事物。使用者应该负责遵守所有的版权法律。如果没有 Microsoft Corporation 的明确书面许可，任何人不得以任何目的通过任何形式和途径，包括电子的和物理的，机械的来复制或传播此文档的任何一部分。

Microsoft 拥有本文档中所涵盖的主题的专利、专利申请书、商标、版权或其他知识产权。除非在 Microsoft 的书面许可协议中明确指出，提供此文档并不意味着可以使用这些专利、商标、版权或其他知识产权。

(C) 1991-2000 Microsoft Corporation。保留所有权利。

Microsoft、MS、MS-DOS、ActiveX、JScript、Microsoft Press、Visual Basic、Windows、Windows NT、Win32 和 Win32s 都是 Microsoft Corporation 在美国和/或其他国家的注册商标或商标。

本文档中提及的其他产品和公司名称可能是其相应所有者的商标。


getDate 方法

getDate 方法 		语言参考
版本 1

请参阅 应用于

描述

返回 Date 对象中用本地时间表示的一个月中的日期值。

语法
objDate.getDate()
说明
要获取用全球标准时间 (UTC)表示的日期值，请使用 getUTCDate 方法。

返回值是一个处于 1 到 31 之间的整数，它代表了相应的 Date 对象中的日期值。

下面这个例子说明了 getDate 方法的用法：

function DateDemo()
{
  var d, s = "今天日期是: ";
  d = new Date();
  s += (d.getMonth() + 1) + "/";
  s += d.getDate() + "/";
  s += d.getYear();
  return(s);
}


getDate 方法

getDate 方法
应用于 		语言参考

Date 对象


getDate 方法

getDate 方法
请参阅 		语言参考

Date 对象的方法
getUTCDate 方法
setDate 方法
setUTCDate 方法


getDay 方法

getDay 方法 		语言参考
版本 1

请参阅 应用于

描述
返回 Date 对象中用本地时间表示的一周中的日期值。
语法
objDate.getDay()
说明
要获取用全球标准时间 (UTC)表示的一周中日期值，请使用 getUTCDay 方法。

getDay 方法所返回的值是一个处于 0 到 6 之间的整数，它代表了一周中的某一天，返回值与一周中日期的对应关系如下：

0 = 星期天
1 = 星期一
2 = 星期二
3 = 星期三
4 = 星期四
5 = 星期五
6 = 星期六

下面这个例子说明了 getDay 方法的用法：

function DateDemo()
{
  var d, day, x, s = "今天是: ";
  var x = new Array("星期日", "星期一", "星期二");
  var x = x.concat("星期三","星期四", "星期五");
  var x = x.concat("星期六");
  d = new Date();
  day = d.getDay();
  return(s += x[day]);
}


getDay 方法

getDay 方法
应用于 		语言参考

Date 对象


getDay 方法

getDay 方法
请参阅 		语言参考

Date 对象的方法
getUTCDay 方法


getFullYear 方法

getFullYear 方法 		语言参考
版本 3

请参阅 应用于

描述
返回 Date 对象中用本地时间表示的年份值。
语法
objDate.getFullYear()
说明
要获取用全球标准时间 (UTC)表示的年份值，请使用 getUTCFullYear 方法。

getFullYear 方法以绝对数字的形式返回年份值。例如，1976 年的返回值就是 1976。这样可以避免出现 2000 年问题，从而不会将 2000 年1月1日以后的日期与 1900 年1月1日以后的日期混淆起来。

下面这个例子说明了 GetFullYear 方法的用法：

function DateDemo()
{
  var d, s = "今天 UTC 日期是: ";
  d = new Date();
  s += (d.getMonth() + 1) + "/";
  s += d.getDate() + "/";
  s += d.getFullYear();
  return(s);
}


getFullYear 方法

getFullYear 方法
应用于 		语言参考

Date 对象


getFullYear 方法

getFullYear 方法
请参阅 		语言参考

Date 对象的方法
getUTCFullYear 方法
setFullYear 方法
setUTCFullYear 方法


getHours 方法

getHours 方法 		语言参考
版本 1

请参阅 应用于

描述
返回 Date 对象中用本地时间表示的小时值。
语法
objDate.getHours()
说明
要获取用 全球标准时间 (UTC)表示的小时值，请使用 getUTCHours 方法。

getHours 方法返回一个处于 0 到 23 之间的整数，这个值表示从午夜开始计算的小时数。在下面两种情况下此方法的返回值是 0：时间在 1:00:00 am 之前，或者在创建 Date 对象的时候没有将时间保存在该对象中。而要确定究竟是哪种情况，唯一的方法就是进一步检查分钟和秒钟值是否也是 0。如果这两个值都是 0，那就几乎可以确定是没有将时间值保存到 Date 对象中。

下面这个例子说明了 getHours 方法的用法：

function TimeDemo()
{
  var d, s = "当前本地时间为: ";
  var c = ":";
  d = new Date();
  s += d.getHours() + c;
  s += d.getMinutes() + c;
  s += d.getSeconds() + c;
  s += d.getMilliseconds();
  return(s);
}


getHours 方法

getHours 方法
应用于 		语言参考

Date 对象


getHours 方法

getHours 方法
请参阅 		语言参考

Date 对象的方法
getUTCHours 方法
setHours 方法
setUTCHours 方法


getMilliseconds 方法

getMilliseconds 方法 		语言参考
版本 3

请参阅 应用于

描述
返回 Date 对象中用本地时间表示的毫秒值。
语法
objDate.getMilliseconds()
说明
要获取用全球标准时间 (UTC)表示的毫秒值，请使用 getUTCMilliseconds 方法。

所返回的毫秒值处于 0-999 之间。

下面这个例子说明了 getMilliseconds 方法的用法：

function TimeDemo()
{
  var d, s = "当前本地时间为: ";
  var c = ":";
  d = new Date();
  s += d.getHours() + c;
  s += d.getMinutes() + c;
  s += d.getSeconds() + c;
  s += d.getMilliseconds();
  return(s);
}


getMilliseconds 方法

getMilliseconds 方法
应用于 		语言参考

Date 对象


getMilliseconds 方法

getMilliseconds 方法
请参阅 		语言参考

Date 对象的方法
getUTCMilliseconds 方法
setMilliseconds 方法
setUTCMilliseconds 方法


getMinutes 方法

getMinutes 方法 		语言参考
版本 1

请参阅 应用于

描述
返回 Date 对象中用本地时间表示的分钟值。
语法
objDate.getMinutes()
说明
要获取用全球标准时间 (UTC)表示的分钟值，请使用 getUTCMinutes 方法。

getMinutes 方法返回一个处于 0 到 59 之间的整数，返回值就等于保存在 Date 对象中的分钟值。在下面两种情况下返回值为 0：一种情况是在时钟整点之后经过的时间少于一分钟；另外一种情况是在创建 Date 对象的时候没有将时间值保存到该对象中。而要确定究竟是哪种情况，唯一的方法是同时检查小时和秒钟值是否也是 0。如果这两个值都是 0，那就几乎可以确定是没有将时间值保存到该 Date 对象中。

下面这个例子说明了 getMinutes 方法的用法：

function TimeDemo()
{
  var d, s = "当前本地时间为: ";
  var c = ":";
  d = new Date();
  s += d.getHours() + c;
  s += d.getMinutes() + c;
  s += d.getSeconds() + c;
  s += d.getMilliseconds();
  return(s);
}


getMinutes 方法

getMinutes 方法
应用于 		语言参考

Date 对象


getMinutes 方法

getMinutes 方法
请参阅 		语言参考

Date 对象的方法
getUTCMinutes 方法
setMinutes 方法
setUTCMinutes 方法


getMonth 方法

getMonth 方法 		语言参考
版本 1

请参阅 应用于

描述
返回 Date 对象中用本地时间表示的月份值。
语法
objDate.getMonth()
说明
要获取用全球标准时间 (UTC)表示的月份值，请使用 getUTCMonth 方法。

getMonth 方法返回一个处于 0 到 11 之间的整数，它代表 Date 对象中的月份值。这个整数并不等于按照惯例来表示月份的数字，而是要比按惯例表示的值小 1。如果一个 Date 对象中保存的时间值是 "Jan 5, 1996 08:47:00"，那么 getMonth 方法就会返回 0。

下面这个例子说明了 getMonth 方法的用法：

function DateDemo()
{
  var d, s = "今天日期是: ";
  d = new Date();
  s += (d.getMonth() + 1) + "/";
  s += d.getDate() + "/";
  s += d.getYear();
  return(s);
}


getMonth 方法

getMonth 方法
应用于 		语言参考

Date 对象


getMonth 方法

getMonth 方法
请参阅 		语言参考

Date 对象的方法
getUTCMonth 方法
setMonth 方法
setUTCMonth 方法


getSeconds 方法

getSeconds 方法 		语言参考
版本 1

请参阅 应用于

描述
返回 Date 对象中用本地时间表示的秒钟值。
语法
objDate.getSeconds()
说明
要获取用全球标准时间 (UTC)表示的秒钟值，请使用 getUTCSeconds 方法。

getSeconds 方法返回一个处于 0 到 59 之间的整数，它表示了相应的 Date 对象中的秒钟值。在下面两种情况下，返回值为 0。第一种情况是在当前的一分钟中所经过的时间少于一秒。另外一种情况是在创建 Date 对象时没有将时间值保存到该对象中。而为了确定究竟属于哪种情况，唯一的方法是同时检查小时和分钟值是否也都是 0。如果这两个值都是 0，那就几乎可以确定是没有将时间值保存到 Date 对象中。

下面这个例子说明了 getSeconds 方法的用法：

function TimeDemo()
{
  var d, s = "当前本地时间为: ";
  var c = ":";
  d = new Date();
  s += d.getHours() + c;
  s += d.getMinutes() + c;
  s += d.getSeconds() + c;
  s += d.getMilliseconds();
  return(s);
}


getSeconds 方法

getSeconds 方法
应用于 		语言参考

Date 对象


getSeconds 方法

getSeconds 方法
请参阅 		语言参考

Date 对象的方法
getUTCSeconds 方法
setSeconds 方法
setUTCSeconds 方法


getTime 方法

getTime 方法 		语言参考
版本 1

请参阅 应用于

描述
返回 Date 对象中的时间值。
语法
objDate.getTime()
说明
getTime 方法返回一个整数值，这个整数代表了从 1970 年 1 月 1 日开始计算到 Date 对象中的时间之间的毫秒数。日期的范围大约是 1970 年 1 月 1 日午夜的前后各 285,616 年。负数代表 1970 年之前的日期。

在进行各种日期和时间换算的时候，可以定义一些变量来表示一天、一个小时或一分钟中包含的毫秒数。这样做通常是很有帮助的。例如：

var MinMilli = 1000 * 60
var HrMilli = MinMilli * 60
var DyMilli = HrMilli * 24
下面这个例子说明了 getTime 方法的用法：
function GetTimeTest()
{
  var d, s, t;
  var MinMilli = 1000 * 60;
  var HrMilli = MinMilli * 60;
  var DyMilli = HrMilli * 24;
  d = new Date();
  t = d.getTime();
  s = "It's been "
  s += Math.round(t / DyMilli) + " days since 1/1/70";
  return(s);
}


getTime 方法

getTime 方法
应用于 		语言参考

Date 对象


getTime 方法

getTime 方法
请参阅 		语言参考

Date 对象的方法
setTime 方法


getTimezoneOffset 方法

getTimezoneOffset 方法 		语言参考
版本 1

请参阅 应用于

描述

返回用分钟表示的主计算机上的时间和全球标准时间 (UTC)之间的差别。

语法
objDate.getTimezoneOffset()
说明
getTimezoneOffset 方法返回一个整数值，这个整数代表了当前计算机上的时间和 UTC 之间相差的分钟数。这些值和执行脚本的计算机相关。如果这个方法被一个服务器脚本调用，那返回值和服务器相关。而如果这个方法被一个客户机脚本调用，那么返回值就根据客户机上的时间来确定。

如果所在位置的时间落后于 UTC (比如， Pacific Daylight Time)，那么这个值就是正值，而如果所在位置的时间超前于 UTC (比如说， Japan)，那么这个值就是负值。

例如，假设在 12 月 1 日，一台位于 Los Angeles 的客户机与一台位于 New York City 的服务器进行联络。如果在客户机上执行，getTimezoneOffset 方法将返回 480，而如果在服务器上执行此方法将返回 300。

下面这个例子说明了 getTimezoneOffset 方法的用法：

function TZDemo()
{
  var d, tz, s = "The current local time is ";
  d = new Date();
  tz = d.getTimezoneOffset();
  if (tz < 0)
    s += tz / 60 + " hours before GMT";
  else if (tz == 0)
    s += "GMT";
  else
    s += tz / 60 + " hours after GMT";
  return(s);
}


getTimezoneOffset 方法

getTimezoneOffset 方法
应用于 		语言参考

Date 对象


getTimezoneOffset 方法

getTimezoneOffset 方法
请参阅 		语言参考

Date 对象的方法


getUTCDate 方法

getUTCDate 方法 		语言参考
版本 3

请参阅 应用于

描述
返回 Date 对象中用全球标准时间 (UTC)表示的日期。
语法
objDate.getUTCDate()
说明
要获取用本地时间表示的日期，请使用 getDate 方法。

返回值是一个处于 1 到 31 之间的整数值，这个整数代表了 Date 对象中的日期值。

下面这个例子说明了 getUTCDate 方法的用法：

function UTCDateDemo()
{
  var d, s = "今天 UTC 日期是: ";
  d = new Date();
  s += (d.getUTCMonth() + 1) + "/";
  s += d.getUTCDate() + "/";
  s += d.getUTCFullYear();
  return(s);
}


getUTCDate 方法

getUTCDate 方法
应用于 		语言参考

Date 对象


getUTCDate 方法

getUTCDate 方法
请参阅 		语言参考

Date 对象的方法
getDate 方法
setDate 方法
setUTCDate 方法


getUTCDay 方法

getUTCDay 方法 		语言参考
版本 3

请参阅 应用于

描述
返回 Date 对象中用全球标准时间 (UTC)表示的一周中的日期值。
语法
objDate.getUTCDay()
说明
要获取用本地时间表示的一周中的日期值，请使用 getDate 方法。

getUTCDay 方法的返回值是一个处于 0 到 6 之间的整数，它代表了一周中的某一天，返回值与一周中日期的对应关系如下：

0 = 星期天
1 = 星期一
2 = 星期二
3 = 星期三
4 = 星期四
5 = 星期五
6 = 星期六
下面这个例子说明了 getUTCDay 方法的用法：
function DateDemo()
{
  var d, day, x, s = "今天是 ";
  var x = new Array("星期日", "星期一", "星期二");
  x = x.concat("星期三","星期四", "星期五");
  x = x.concat("星期六");
  d = new Date();
  day = d.getUTCDay();
  return(s += x[day]);
}


getUTCDay 方法

getUTCDay 方法
应用于 		语言参考

Date 对象


getUTCDay 方法

getUTCDay 方法
请参阅 		语言参考

Date 对象的方法
getDay 方法


getUTCFullYear 方法

getUTCFullYear 方法 		语言参考
版本 3

请参阅 应用于

描述
返回 Date 对象中用全球标准时间 (UTC)表示的年份值。
语法
objDate.getUTCFullYear()
说明
要获取用 本地时间表示的年份值，请使用 getFullYear 方法。

getUTCFullYear 方法以绝对数字的形式返回年份值。这样可以避免出现 2000 年问题，从而不会将 2000 年1月1日以后的日期与 1900 年1月1日以后的日期混淆起来。

下面这个例子说明了 getUTCFullYear 方法的用法：

function UTCDateDemo()
{
  var d, s = "今天 UTC 日期是: ";
  d = new Date();
  s += (d.getUTCMonth() + 1) + "/";
  s += d.getUTCDate() + "/";
  s += d.getUTCFullYear();
  return(s);
}


getUTCFullYear 方法

getUTCFullYear 方法
应用于 		语言参考

Date 对象


getUTCFullYear 方法

getUTCFullYear 方法
请参阅 		语言参考

Date 对象的方法
getFullYear 方法
setFullYear 方法
setUTCFullYear 方法


getUTCHours 方法

getUTCHours 方法 		语言参考
版本 3

请参阅 应用于

描述
返回 Date 对象中用全球标准时间 (UTC)表示的小时值。
语法
objDate.getUTCHours()
说明
要获取用本地时间表示的，从午夜开始已经过的小时数，请使用 getHours 方法。

getUTCHours 方法返回一个处于 0 到 23 之间的整数，这个整数代表了从午夜开始所经过的小时数。在下面两种情况下返回值为 0：时间在 1:00:00 A.M. 之前或者在创建 Date 对象的时候没有将时间值保存到该对象中。而要确定究竟属于哪种情况，唯一的办法就是同时检查分钟和秒钟值是否都是 0。如果这两个值都是 0，那么就几乎可以确定是没有将时间值保存到 Date 对象中。

下面这个例子说明了 getUTCHours 方法的用法：

function UTCTimeDemo()
{
  var d, s = "当前全球标准时间 (UTC) 是: ";
  var c = ":";
  d = new Date();
  s += d.getUTCHours() + c;
  s += d.getUTCMinutes() + c;
  s += d.getUTCSeconds() + c;
  s += d.getUTCMilliseconds();
  return(s);
}


getUTCHours 方法

getUTCHours 方法
应用于 		语言参考

Date 对象


getUTCHours 方法

getUTCHours 方法
请参阅 		语言参考

Date 对象的方法
getHours 方法
setHours 方法
setUTCHours 方法


getUTCMilliseconds 方法

getUTCMilliseconds 方法 		语言参考
版本 3

请参阅 应用于

描述
返回 Date 对象中用全球标准时间 (UTC)表示的毫秒值。
语法
objDate.getUTCMilliseconds()
说明
要获取用本地时间表示的毫秒数，请使用 getMilliseconds 方法。

返回的毫秒值的范围是 0-999。

下面这个例子说明了 getUTCMilliseconds 方法的用法：

function UTCTimeDemo()
{
  var d, s = "当前全球标准时间 (UTC) 是: ";
  var c = ":";
  d = new Date();
  s += d.getUTCHours() + c;
  s += d.getUTCMinutes() + c;
  s += d.getUTCSeconds() + c;
  s += d.getUTCMilliseconds();
  return(s);
}


getUTCMilliseconds 方法

getUTCMilliseconds 方法
应用于 		语言参考

Date 对象


getUTCMilliseconds 方法

getUTCMilliseconds 方法
请参阅 		语言参考

Date 对象的方法
getMilliseconds 方法
setMilliseconds 方法
setUTCMilliseconds 方法


getUTCMinutes 方法

getUTCMinutes 方法 		语言参考
版本 3

请参阅 应用于

描述
返回 Date 对象中用全球标准时间 (UTC)表示的分钟值。
语法
objDate.getUTCMinutes()
说明
要获得用本地时间表示的所保存的分钟数，请使用 getMinutes 方法。

getUTCMinutes 方法返回一个处于 0 到 59 之间的整数，这个整数就等于包含在 Date 对象中的分钟数的值。在下列两种情况下返回值为 0：在整点过后的时间短于 1 分钟，或者在创建 Date 对象的时候没有将时间值保存到对象之中。而要确定究竟属于哪种情况，唯一的方法就是同时检查小时和秒钟值是否都是 0。如果这两个值都是 0，那么几乎可以肯定是没有将时间保存到 Date 对象中。

下面这个例子说明了 getUTCMinutes 方法的用法：

function UTCTimeDemo()
{
  var d, s = "当前全球标准时间 (UTC) 是: ";
  var c = ":";
  d = new Date();
  s += d.getUTCHours() + c;
  s += d.getUTCMinutes() + c;
  s += d.getUTCSeconds() + c;
  s += d.getUTCMilliseconds();
  return(s);
}


getUTCMinutes 方法

getUTCMinutes 方法
应用于 		语言参考

Date 对象


getUTCMinutes 方法

getUTCMinutes 方法
请参阅 		语言参考

Date 对象的方法
getMinutes 方法
setMinutes 方法
setUTCMinutes 方法


getUTCMonth 方法

getUTCMonth 方法 		语言参考
版本 3

请参阅 应用于

描述
返回 Date 对象中用全球标准时间 (UTC)表示的月份值。
语法
objDate.getUTCMonth()
说明
要获得用本地时间表示的月份，请使用 getMonth 方法。

getUTCMonth 方法返回一个处于 0 到 11 之间的整数，这个整数就表示 Date 对象中的月份值。所返回值并不等于按惯例来表示月份的数字。而是要比按惯例来表示月份的数字小 1。如果一个 Date 对象中保存的值是"Jan 5, 1996 08:47:00.0"，那么 getUTCMonth 将返回 0。

下面这个例子说明了 getUTCMonth 方法的用法：

function UTCDateDemo()
{
  var d, s = "今天 UTC 日期是: ";
  d = new Date();
  s += (d.getUTCMonth() + 1) + "/";
  s += d.getUTCDate() + "/";
  s += d.getUTCFullYear();
  return(s);
}


getUTCMonth 方法

getUTCMonth 方法
应用于 		语言参考

Date 对象


getUTCMonth 方法

getUTCMonth 方法
请参阅 		语言参考

Date 对象的方法
getMonth 方法
setMonth 方法
setUTCMonth 方法


getUTCSeconds 方法

getUTCSeconds 方法 		语言参考
版本 3

请参阅 应用于

描述
返回 Date 对象中用全球标准时间 (UTC)表示的秒钟值。
语法
objDate.getUTCSeconds()
说明
要获得用本地时间表示的秒钟数，请使用 getSeconds 方法。

getUTCSeconds 方法返回一个处于 0 到 59 之间的整数，这个整数表示相应的 Date 对象中的秒钟数。在下面两种情况下返回值为 0：在当前的一分钟中所经过的时间短于 1 秒钟，或者在创建 Date 对象的时候没有将时间保存到该对象中。而为了确定究竟属于哪种情况，唯一的方法就是同时检查分钟和小时值是否为 0。如果这两个值也都是 0，那么几乎可以确定是没有将时间保存到 Date 对象中。

下面这个例子说明了 getUTCSeconds 方法的用法：

function UTCTimeDemo()
{
  var d, s = "当前 UTC 时间为: ";
  var c = ":";
  d = new Date();
  s += d.getUTCHours() + c;
  s += d.getUTCMinutes() + c;
  s += d.getUTCSeconds() + c;
  s += d.getUTCMilliseconds();
  return(s);
}


getUTCSeconds 方法

getUTCSeconds 方法
应用于 		语言参考

Date 对象


getUTCSeconds 方法

getUTCSeconds 方法
请参阅 		语言参考

Date 对象的方法
getSeconds 方法
setSeconds 方法
setUTCSeconds 方法


getVarDate 方法

getVarDate 方法 		语言参考
版本 3

请参阅 应用于

描述
返回 Date 对象中的 VT_DATE 值。
语法
dateobj.getVarDate( )

其中 dateobj 参数可以是任何 Date 对象。

说明
getVarDate 方法被用来与 ActiveX(R) 对象或其他以 VT_DATE 格式接受和返回日期值的对象进行交互。


getVarDate 方法

getVarDate 方法
应用于 		语言参考

Date 对象


getVarDate 方法

getVarDate 方法
请参阅 		语言参考

getDate 方法
parse 方法


getYear 方法

getYear 方法 		语言参考
版本 1

请参阅 应用于

描述

返回 Date 对象中的年份值。

语法

objDate.getYear( )
说明
这个方法已经过时，之所以提供这个方法，是为了保持向后的兼容性。请改用 getFullYear 方法。

对于1900-1999这段时间而言，返回的年份值是一个两位数字的整数，它代表了所保存的年份与 1900 年之间的差距。而对于其它的年份，返回值是一个四位的整数。例如，1996 年的返回值是 96，而 1825 和 2025 年的返回值则相应地为 1825 和 2025。

注意 对于 JScript 1.0 版，getYear 返回的值始终为 Date 对象中的年份与 1900 年之间的差距。例如，1899 年的返回值是 -1， 而 2000 年的返回值是 100。

下面这个例子说明了 getYear 方法的用法：
function DateDemo()
{
  var d, s = "今天日期是: ";
  d = new Date();
  s += (d.getMonth() + 1) + "/";
  s += d.getDate() + "/";
  s += d.getYear();
  return(s);
}


getYear 方法

getYear 方法
应用于 		语言参考

Date 对象


getYear 方法

getYear 方法
请参阅 		语言参考

Date 对象的方法
getFullYear 方法
getUTCFullYear 方法
setFullYear 方法
setUTCFullYear 方法
setYear 方法


parse 方法

parse 方法 		语言参考
版本 1

请参阅 应用于

描述

解析一个包含日期的字符串，并返回该日期与 1970 年 1 月 1 日午夜之间所间隔的毫秒数。

语法
Date.parse(dateVal)

其中 dateVal 是一个包含以诸如 "Jan 5, 1996 08:47:00" 的格式表示的日期的字符串，或者是一个从 ActiveX(R) 对象或其他对象中获取的 VT_DATE 值。

说明
parse 方法返回一个整数值，这个整数表示 dateVal 中所包含的日期与 1970 年 1 月 1 日午夜之间相间隔的毫秒数。

parse 方法是 Date 对象的一个静态方法。正因为它是一个静态方法，它是通过下面例子中所示的方法被调用的，而不是作为一个已创建 Date 对象的一个方法被调用。

var datestring = "November 1, 1997 10:15 AM";
Date.parse(datestring)
下面这些规则决定了 parse 方法能够成功地解析那些字符串：
  • 短日期可以使用“/”或“-”作为日期分隔符，但是必须用月/日/年的格式来表示，例如"7/20/96"。
  • 以 "July 10 1995" 形式表示的长日期中的年、月、日可以按任何顺序排列，年份值可以用 2 位数字表示也可以用 4 位数字表示。如果使用 2 位数字来表示年份，那么该年份必须大于或等于 70。
  • 括号中的任何文本都被视为注释。这些括号可以嵌套使用。
  • 逗号和空格被视为分隔符。允许使用多个分隔符。
  • 月和日的名称必须具有两个或两个以上的字符。如果两个字符所组成的名称不是独一无二的，那么该名称就被解析成最后一个符合条件的月或日。例如，"Ju" 被解释为七月而不是六月。
  • 在所提供的日期中，如果所指定的星期几的值与按照该日期中剩余部分所确定的星期几的值不符合，那么该指定值就会被忽略。例如，尽管 1996 年 11 月 9 日实际上是星期五，"Tuesday November 9 1996" 也还是可以被接受并进行解析的。但是结果 Date 对象中包含的是 "Friday November 9 1996"。
  • JScript 处理所有的标准时区，以及全球标准时间 (UTC) 和格林威治标准时间 (GMT)。
  • 小时、分钟、和秒钟之间用冒号分隔，尽管不是这三项都需要指明。"10:"、"10:11"、和 "10:11:12" 都是有效的。
  • 如果使用 24 小时计时的时钟，那么为中午 12 点之后的时间指定 "PM" 是错误的。例如 "23:15 PM" 就是错误的。
  • 包含无效日期的字符串是错误的。例如，一个包含有两个年份或两个月份的字符串就是错误的。
下面这个例子说明了 parse 方法的用法：
function GetTimeTest(testdate)
{
  var d, s, t;
  var MinMilli = 1000 * 60;
  var HrMilli = MinMilli * 60;
  var DyMilli = HrMilli * 24;
  d = new Date();
  t = Date.parse(testdate);
  s = "There are "
  s += Math.round(Math.abs(t / DyMilli)) + " days "
  s += "between " + testdate + " and 1/1/70";
  return(s);
}


parse 方法

parse 方法
应用于 		语言参考

Date 对象


parse 方法

parse 方法
请参阅 		语言参考

Date 对象的方法


setDate 方法

setDate 方法 		语言参考
版本第 1

请参阅 应用于

描述
设置 Date 对象中用本地时间表示的数字日期。
语法
objDate.setDate(numDate)

其中 numDate 参数是一个等于数字日期的数值。

说明
要设置用全球标准时间 (UTC)表示的日期值，请使用 setUTCDate 方法。

如果 numDate 的值大于 Date 对象中所保存的月份的天数或者是负数。那么日期将被设置为由 numDate 减去所保存月份中天数而得到的日期。例如，如果所保存的日期是 1996 年 1 月 5 日，并且调用了方法 setUTCDate(32)，那么日期将被改变为 1996 年 2 月 1 日。负数的处理方法与此相似。

下面这个例子说明了 setDate 方法的用法：

function SetDateDemo(newdate)
{
  var d, s;
  d = new Date();
  d.setDate(newdate);
  s = "Current setting is ";
  s += d.toLocaleString();
  return(s);
}


setDate 方法

setDate 方法
应用于 		语言参考

Date 对象


setDate 方法

setDate 方法
请参阅 		语言参考

Date 对象的方法
getDate 方法
getUTCDate 方法
setUTCDate 方法


setFullYear 方法

setFullYear 方法 		语言参考
版本 3

请参阅 应用于

描述
设置 Date 对象中用本地时间表示的年份值。
语法
objDate.setFullYear(numYear[, numMonth[, numDate]])

setFullYear 方法的语法有下面这些部分：

部分 | 描述
numYear | 必选项。一个等于年份的数值。
numMonth | 可选项。一个等于月份的数值。如果提供了 numDate，那么此项也必须提供。
numDate | 可选项。一个等于日期的数值。

说明
如果没有指定可选项，那么所有使用可选项的 set 方法都将使用从相应的 get 方法返回的数值作为可选项的数值。例如，如果 numMonth 参数是可选的，但是没有被指定，JScript 将使用从 getMonth 方法返回的值作为该参数的值。

此外，如果参数的的值超出其范围或者是负数，其他被保存的值都将相应地得到修改。

要设置用全球标准时间 (UTC)表示的年份，请使用 setUTCFullYear 方法。

Date 对象中所支持的年份的范围大约是 1970 年的前后各 285,616 年。

下面这个例子说明了 setFullYear 方法的用法：

function SetFullYearDemo(newyear)
{
  var d, s;
  d = new Date();
  d.setFullYear(newyear);
  s = "Current setting is ";
  s += d.toLocaleString();
  return(s);
}


setFullYear 方法

setFullYear 方法
应用于 		语言参考

Date 对象


setFullYear 方法

setFullYear 方法
请参阅 		语言参考

Date 对象的方法
getFullYear 方法
getUTCFullYear 方法
setUTCFullYear 方法


setHours 方法

setHours 方法 		语言参考
版本 1

请参阅 应用于

描述
设置 Date 对象中用本地时间表示的小时值。
语法
objDate.setHours(numHours[, numMin[, numSec[, numMilli]]])

setHours 方法的语法包括下面这些部分：

部分 | 描述
numHours | 必选项。一个等于小时值的数值。
numMin | 可选项。一个等于分钟值的数值。如果使用了下面的参数，那么此参数也必须提供。
numSec | 可选项。一个等于秒钟值的数值。如果使用了下面的参数，那么此参数也必须提供。
numMilli | 可选项。一个等于毫秒值的数值。

说明
如果没有指定可选项，那么所有使用可选项的 set 方法都将使用从相应的 get 方法返回的数值作为可选项的数值。例如，如果 numMonth 参数是可选的，但是没有被指定，JScript 将使用从 getMonth 方法返回的值作为该参数的值。

要设置用全球标准时间 (UTC)表示的小时值，请使用 setUTCHours 方法。

此外，如果参数的的值超出其范围或者是负数，其他被保存的值都将相应地得到修改。例如，如果所保存的日期是 "Jan 5, 1996 00:00:00"，且调用了 setHours(30) 方法，那么日期将被改变为 "Jan 6, 1996 06:00:00." 负数的处理方法与此相似。

下面这个例子说明了 setHours 方法的用法：

function SetHoursDemo(nhr, nmin, nsec)
{
  var d, s;
  var sep = ":";
  d = new Date();
  d.setHours(nhr, nmin, nsec);
  s = "Current setting is " + d.toLocaleString()
  return(s);
}


setHours 方法

setHours 方法
应用于 		语言参考

Date 对象


setHours 方法

setHours 方法
请参阅 		语言参考

Date 对象的方法
getHours 方法
getUTCHours 方法
setUTCHours 方法


setMilliseconds 方法

setMilliseconds 方法 		语言参考
版本 3

请参阅 应用于

描述
设置 Date 对象中用本地时间表示的毫秒值。
语法
objDate.setMilliseconds(numMilli)

其中 numMilli 参数是一个等于毫秒值的数值。

说明
如果没有指定可选项，那么所有使用可选项的 set 方法都将使用从相应的 get 方法返回的数值作为可选项的数值。例如，如果 numMonth 参数是可选的，但是没有被指定，JScript 将使用从 getMonth 方法返回的值作为该参数的值。

要设置用全球标准时间 (UTC)表示的毫秒值，请使用 setUTCMilliseconds 方法。

如果 numMilli 的值大于 999 或者是负数，所保存的秒钟数 (以及分钟，小时，等等，如果需要的话) 将增加适当的数量。

下面这个例子说明了 setMilliseconds 方法的用法：

function SetMSecDemo(nmsec)
{
  var d, s;
  var sep = ":";
  d = new Date();
  d.setMilliseconds(nmsec);
  s = "Current setting is ";
  s += d.toLocaleString() + sep + d.getMilliseconds();
  return(s);
}


getMilliseconds 方法

setMilliseconds 方法
应用于 		语言参考

Date 对象


setMilliseconds 方法

setMilliseconds 方法
请参阅 		语言参考

Date 对象的方法
getMilliseconds 方法
getUTCMilliseconds 方法
setUTCMilliseconds 方法


setMinutes 方法

setMinutes 方法 		语言参考
版本 1

请参阅 应用于

描述
设置 Date 对象中用 本地时间表示的分钟值。
语法
objDate.setMinutes(numMinutes[, numSeconds[, numMilli]])

setMinutes 方法的语法有下面这些部分：

部分 | 描述
numMinutes | 必选项。一个等于分钟值的数值。
numSeconds | 可选项。一个等于秒钟值的数值。如果使用了 numMilli 参数，那么必须提供此参数。
numMilli | 可选项。一个等于毫秒值的数值。

说明
如果没有指定可选项，那么所有使用可选项的 set 方法都将使用从相应的 get 方法返回的数值作为可选项的数值。例如，如果 numMonth 参数是可选的，但是没有被指定，JScript 将使用从 getMonth 方法返回的值作为该参数的值。

要设置用全球标准时间 (UTC)表示的分钟值，请使用 setUTCMinutes 方法。

如果参数的的值超出其范围或者是负数，其他被保存的值都将相应地得到修改。例如，如果所保存的日期是 "Jan 5, 1996 00:00:00"，且调用了 setMinutes(90) 方法，那么日期将被改变为 "Jan 5, 1996 01:30:00" 负数的处理方法与此相似。

下面这个例子说明了 setMinutes 方法的用法：

function SetMinutesDemo(nmin, nsec)
{
  var d, s;
  var sep = ":";
  d = new Date();
  d.setMinutes(nmin, nsec);
  s = "Current setting is " + d.toLocaleString()
  return(s);
}


setMinutes 方法

setMinutes 方法
应用于 		语言参考

Date 对象


setMinutes 方法

setMinutes 方法
请参阅 		语言参考

Date 对象的方法
getMinutes 方法
getUTCMinutes 方法
setUTCMinutes 方法


setMonth 方法

setMonth 方法 		语言参考
版本 1

请参阅 应用于

描述
设置 Date 对象中用 本地时间表示的月份值。
语法
objDate.setMonth(numMonth[, dateVal])

setMonth 方法的语法有下面这些部分：

部分 | 描述
numMonth | 必选项。一个等于月份值的数值。
dateVal | 可选项。一个代表日期的数值。如果没有提供此参数，那么将使用通过调用 getDate 方法而得到的数值。

说明
要设置用全球标准时间 (UTC)表示的月份值，请使用 setUTCMonth 方法。

如果 numMonth 的值大于 11 (月份 0 表示一月)或者是一个负数，那么所保存的年份将相应地得到改变。例如，如果所保存的日期是 "Jan 5, 1996" 并且调用了 setMonth(14) 方法，那么该日期就被改变为 "Mar 5, 1997."

下面这个例子说明了 setMonth 方法的用法：

function SetMonthDemo(newmonth)
{
  var d, s;
  d = new Date();
  d.setMonth(newmonth);
  s = "Current setting is ";
  s += d.toLocaleString();
  return(s);
}


setMonth 方法

setMonth 方法
应用于 		语言参考

Date 对象


setMonth 方法

setMonth 方法
请参阅 		语言参考

Date 对象的方法
getMonth 方法
getUTCMonth 方法
setUTCMonth 方法


setSeconds 方法

setSeconds 方法 		语言参考
版本 1

请参阅 应用于

描述
设置 Date 对象中用 本地时间表示的秒钟值。
语法
objDate.setSeconds(numSeconds[, numMilli])

setSeconds 方法的语法包括下面这些部分：

部分 | 描述
numSeconds | 必选项。等于秒钟值的数值。
numMilli | 可选项。等于毫秒值的数值。

说明
如果没有指定可选项，那么所有使用可选项的 set 方法都将使用从相应的 get 方法返回的数值作为可选项的数值。例如，如果 numMonth 参数是可选的，但是没有被指定，JScript 将使用从 getMonth 方法返回的值作为该参数的值。

要设置用全球标准时间 (UTC)表示的秒钟值，请使用 setUTCSeconds 方法。

如果一个参数的值超出了其取值范围或者是一个负数，其他保存的值将相应地得到修改。例如如果所保存的日期是 "Jan 5, 1996 00:00:00" 而且调用了函数 setSeconds(150)，日期将被改变为 "Jan 5, 1996 00:02:30."

下面这个例子说明了 setSeconds 方法的用法：

function SetSecondsDemo(nsec, nmsec)
{
  var d, s;
  var sep = ":";
  d = new Date();
  d.setSeconds(nsec, nmsec);
  s = "Current setting is ";
  s += d.toLocaleString() + sep + d.getMilliseconds();
  return(s);
}


setSeconds 方法

setSeconds 方法
应用于 		语言参考

Date 对象


setSeconds 方法

setSeconds 方法
请参阅 		语言参考

Date 对象的方法
getSeconds 方法
getUTCSeconds 方法
setUTCSeconds 方法


setTime 方法

setTime 方法 		语言参考
版本 1

请参阅 应用于

描述
设置 Date 对象的日期和时间值。
语法
objDate.setTime(milliseconds)

milliseconds 参数是一个整数值，它代表从格林威治标准时间（GMT）的 1970 年 1 月 1 日午夜开始所经过的毫秒数。

说明
如果 milliseconds 是一个负值，那它就表示 1970 年之前的日期。可用的日期范围大约是 1970 年 1 月 1 日午夜的前后各 285,616 年。

使用 setTime 方法来设置日期和时间与时区无关。

下面这个例子说明了 setTime 方法的用法：

function SetTimeTest(newtime)
{
  var d, s;
  d = new Date();
  d.setTime(newtime);
  s = "Current setting is ";
  s += d.toUTCString();
  return(s);
}


setTime 方法

setTime 方法
应用于 		语言参考

Date 对象


setTime 方法

setTime 方法
请参阅 		语言参考

Date 对象的方法
getTime 方法


setUTCDate 方法

setUTCDate 方法 		语言参考
版本 3

请参阅 应用于

描述
设置 Date 对象中用全球标准时间 (UTC)表示的数值日期。
语法
objDate.setUTCDate(numDate)

其中 numDate 参数是一个与数值日期相等的数值。

说明
要设置用本地时间表示的日期，请使用 setDate 方法。

如果 numDate 的值超出 Date 对象中所保存的月份中的天数或者该值是负数。那么日期将被设置为由 numDate 减去所保存月份中天数而得到的日期。例如，如果所保存的日期是 1996 年 1 月 5 日，并且调用了方法 setUTCDate(32)，那么日期将被改变为 1996 年 2 月 1 日。负数的处理方法与此相似。

下面这个例子说明了 setUTCDate 方法的用法：

function SetUTCDateDemo(newdate)
{
  var d, s;
  d = new Date();
  d.setUTCDate(newdate);
  s = "Current setting is ";
  s += d.toUTCString();
  return(s);
}


setUTCDate 方法

setUTCDate 方法
应用于 		语言参考

Date 对象


setUTCDate 方法

setUTCDate 方法
请参阅 		语言参考

Date 对象的方法
getDate 方法
getUTCDate 方法
setDate 方法


setUTCFullYear 方法

setUTCFullYear 方法 		语言参考
版本 3

请参阅 应用于

描述
设置 Date 对象中用全球标准时间 (UTC)表示的年份值。
语法
objDate.setUTCFullYear(numYear[, numMonth[, numDate]])

setUTCFullYear 方法的语法有下面这些部分：

部分 | 描述
numYear | 必选项。一个等于年份的数值。
numMonth | 可选项。一个等于月份的数值。如果提供了 numDate，那么也必须提供此项。
numDate | 可选项。一个等于日期的数值。

说明
如果没有指定可选项，那么所有使用可选项的 set 方法都将使用从相应的 get 方法返回的数值作为可选项的数值。例如，如果 numMonth 参数是可选的，但是没有被指定，JScript 将使用从 getMonth 方法返回的值作为该参数的值。

此外，如果参数的的值超出其范围或者是负数，其他被保存的值都将相应地得到修改。

要设置用本地时间表示的年份，请使用 setFullYear 方法。

Date 对象中所支持的年份范围大约是 1970 年前后各 285,616 年。

下面这个例子说明了 setUTCFullYear 方法的用法：

function SetUTCFullYearDemo(newyear)
{
  var d, s;
  d = new Date();
  d.setUTCFullYear(newyear);
  s = "Current setting is ";
  s += d.toUTCString();
  return(s);
}


setUTCFullYear 方法

setUTCFullYear 方法
应用于 		语言参考

Date 对象


setUTCFullYear 方法

setUTCFullYear 方法
请参阅 		语言参考

Date 对象的方法
getFullYear 方法
getUTCFullYear 方法
setFullYear 方法


setUTCHours 方法

setUTCHours 方法 		语言参考
版本 3

请参阅 应用于

描述
设置 Date 对象中用全球标准时间 (UTC)表示的小时值。
语法
objDate.setUTCHours(numHours[, numMin[, numSec[, numMilli]]])

setUTCHours 方法的语法包括下面这些部分：

部分 | 描述
numHours | 必选项。等于小时值的数值。
numMin | 可选项。等于分钟值的数值，如果使用了 numSec 或numMilli，那么此参数也必须提供。
numSec | 可选项。等于秒钟值的数值。如果使用了 numMilli 参数，那么此参数也必须提供。
numMilli | 可选项。等于毫秒值的数值。

说明
如果没有指定可选项，那么所有使用可选项的 set 方法都将使用从相应的 get 方法返回的数值作为可选项的数值。例如，如果 numMonth 参数是可选的，但是没有被指定，JScript 将使用从 getMonth 方法返回的值作为该参数的值。

要设置用本地时间表示的小时值，请使用 setHours 方法。

如果参数的的值超出其范围或者是负数，其他被保存的值都将相应地得到修改。例如，如果所保存的日期是 "Jan 5, 1996 00:00:00"，且调用了 setHours(30) 方法，那么日期将被改变为 "Jan 6, 1996 06:00:00."

下面这个例子说明了 setUTCHours 方法的用法：

function SetUTCHoursDemo(nhr, nmin, nsec)
{
  var d, s;
  var sep = ":";
  d = new Date();
  d.setUTCHours(nhr, nmin, nsec);
  s = "Current setting is " + d.toUTCString()
  return(s);
}


setUTCHours 方法

setUTCHours 方法
应用于 		语言参考

Date 对象


setUTCHours 方法

setUTCHours 方法
请参阅 		语言参考

Date 对象的方法
getHours 方法
getUTCHours 方法
setHours 方法


setUTCMilliseconds 方法

setUTCMilliseconds 方法 		语言参考
版本 3

请参阅 应用于

描述
设置 Date 对象中用全球标准时间 (UTC)表示的毫秒值。
语法
objDate.setUTCMilliseconds(numMilli)

其中 numMilli 参数是一个等于毫秒值的数值。

说明
要设置用 本地时间表示的毫秒值，请使用 setMilliseconds 方法。

如果 numMilli 的值大于 999 或者是负数，那么秒钟数（以及分钟、小时等等，如果需要的话）将增加一个适当的数量。

下面这个例子说明了 setUTCMilliseconds 方法的用法：

function SetUTCMSecDemo(nmsec)
{
  var d, s;
  var sep = ":";
  d = new Date();
  d.setUTCMilliseconds(nmsec);
  s = "Current setting is ";
  s += d.toUTCString() + sep + d.getUTCMilliseconds();
  return(s);
}


setUTCMilliseconds 方法

setUTCMilliseconds 方法
应用于 		语言参考

Date 对象


setUTCMilliseconds 方法

setUTCMilliseconds 方法
请参阅 		语言参考

Date 对象的方法
getMilliseconds 方法
getUTCMilliseconds 方法
setMilliseconds 方法


setUTCMinutes 方法

setUTCMinutes 方法 		语言参考
版本 3

请参阅 应用于

描述
设置 Date 对象中用全球标准时间 (UTC)表示的分钟值。
语法
objDate.setUTCMinutes(numMinutes[, numSeconds[, numMilli]])

setUTCMinutes 方法的语法包括下面这些部分：

部分 | 描述
numMinutes | 必选项。等于分钟值的数值。
numSeconds | 可选项。等于秒钟值的数值。如果使用了 numMilli 参数，那么此参数也必须提供。
numMilli | 可选项。等于毫秒值的数值。

说明
如果没有指定可选项，那么所有使用可选项的 set 方法都将使用从相应的 get 方法返回的数值作为可选项的数值。例如，如果 numMonth 参数是可选的，但是没有被指定，JScript 将使用从 getMonth 方法返回的值作为该参数的值。

要将分钟值修改为用本地时间表示的形式，请使用 setMinutes 方法。

如果参数的的值超出其范围或者是负数，其他被保存的值都将相应地得到修改。例如，如果所保存的日期是 "Jan 5, 1996 00:00:00"，且调用了setUTCMinutes(70)方法，那么日期将被改变为 "Jan 5, 1996 01:10:00.00."

下面这个例子说明了 setUTCMinutes 方法的用法：

function SetUTCMinutesDemo(nmin, nsec)
{
  var d, s;
  var sep = ":";
  d = new Date();
  d.setUTCMinutes(nmin,nsec);
  s = "Current setting is " + d.toUTCString()
  return(s);
}


setUTCMinutes 方法

setUTCMinutes 方法
应用于 		语言参考

Date 对象


setUTCMinutes 方法

setUTCMinutes 方法
请参阅 		语言参考

Date 对象的方法
getMinutes 方法
getUTCMinutes 方法
setMinutes 方法


setUTCMonth 方法

setUTCMonth 方法 		语言参考
版本 3

请参阅 应用于

描述
设置 Date 对象中用 全球标准时间 (UTC)表示的月份值。
语法
objDate.setUTCMonth(numMonth[, dateVal])

setUTCMonth 方法的语法包括下面这些部分：

部分 | 描述
numMonth | 必选项。一个等于月份的数值。
dateVal | 可选项。代表日期的数值。如果没有提供此参数，那么将使用通过调用 getUTCDate 方法而得到的数值。

说明
要设置用 本地时间表示的月份值，请使用 setMonth 方法。

如果 numMonth 的值大于 11(月份 0 代表一月)或者是负数，那么所保存的年份也将相应地得到增加或减少。例如，如果所保存的日期是 "Jan 5, 1996 00:00:00.00"，而且调用了 setUTCMonth(14) 方法，那么日期将被改变为 "Mar 5, 1997 00:00:00.00."

下面这个例子说明了 setUTCMonth 方法的用法：

function SetUTCMonthDemo(newmonth)
{
  var d, s;
  d = new Date();
  d.setUTCMonth(newmonth);
  s = "Current setting is ";
  s += d.toUTCString();
  return(s);
}


setUTCMonth 方法

setUTCMonth 方法
应用于 		语言参考

Date 对象


setUTCMonth 方法

setUTCMonth 方法
请参阅 		语言参考

Date 对象方法
getMonth 方法
getUTCMonth 方法
setMonth 方法


setUTCSeconds 方法

setUTCSeconds 方法 		语言参考
版本 3

请参阅 应用于

描述
设置 Date 对象中用全球标准时间 (UTC)表示的秒值。
语法
objDate.setUTCSeconds(numSeconds[, numMilli])

setUTCSeconds 方法的语法包括下面这些部分：

部分 | 描述
numSeconds | 必选项。等于秒值的数值。
numMilli | 可选项。等于毫秒值的数值。

说明
如果没有指定可选项，那么所有使用可选项的 set 方法都将使用从相应的 get 方法返回的数值作为可选项的数值。例如，如果 numMonth 参数是可选的，但是没有被指定，JScript 将使用从 getMonth 方法返回的值作为该参数的值。

要设置用本地时间表示的秒钟值，请使用 setSeconds 方法。

如果参数的的值超出其范围或者是负数，其他被保存的值都将相应地得到修改。例如，如果所保存的日期是 "Jan 5, 1996 00:00:00"，且调用了 setSeconds(150) 方法，那么日期将被改变为 "Jan 5, 1996 00:02:30.00."

下面这个例子说明了 setSeconds 方法的用法：

function SetUTCSecondsDemo(nsec, nmsec)
{
  var d, s;
  var sep = ":";
  d = new Date();
  d.setUTCSeconds(nsec, nmsec);
  s = "Current setting is ";
  s += d.toUTCString() + sep + d.getUTCMilliseconds();
  return(s);
}


setUTCSeconds 方法

setUTCSeconds 方法
应用于 		语言参考

Date 对象


setUTCSeconds 方法

setUTCSeconds 方法
请参阅 		语言参考

Date 对象的方法
getSeconds 方法
getUTCSeconds 方法
setSeconds 方法


setYear 方法

setYear 方法 		语言参考
版本 1

请参阅 应用于

描述
设置 Date 对象中的年份值。
语法
objDate.setYear(numYear)

其中 numYear 参数的数值等于年份减去 1900。

说明
这个方法已经过时，之所以仍然保留，只是为了保持向后兼容性。请改用 setFullYear 方法。

要将 Date 对象的年份设置为 1997，请调用 setYear(97)。而要将年份设置为 2010，请调用 setYear(2010)。最后，要将年份设置为 0-99 范围内的一年，请使用 setFullYear 方法。

注意 对于 JScript 1.0 版， setYear 设置的值始终为 numYear 参数的值加上 1900。例如，要将年份设置为 1899，numYear 参数的值是 -1，而要将年份设置为 2000，numYear 参数的值是 100。

下面这个例子说明了 setYear 方法的用法：
function SetYearDemo(newyear)
{
  var d, s;
  d = new Date();
  d.setYear(newyear);
  s = "Current setting is ";
  s += d.toLocaleString();
  return(s);
}


setYear 方法

setYear 方法
应用于 		语言参考

Date 对象


setYear 方法

setYear 方法
请参阅 		语言参考

Date 对象的方法
getFullYear 方法
getUTCFullYear 方法
getYear 方法
setFullYear 方法
setUTCFullYear 方法


toGMTString 方法

toGMTString 方法 		语言参考
版本 1

请参阅 应用于

描述
返回一个日期，该日期用格林威治标准时间 (GMT) 表示并已被转换为字符串。
语法
objDate.toGMTString()
说明
toGMTString 方法已经过时，之所以仍然提供这个方法，只是为了提供向后的兼容性。推荐改用 toUTCString 方法。

toGMTString 方法返回一个 String 对象，此对象中包含了按照 GMT 惯例进行格式化的日期。返回值的格式如下："05 Jan 1996 00:00:00 GMT."

下面这个例子说明了 toGMTString 方法的用法：

function toGMTStrDemo()
{
  var d, s;
  d = new Date();
  s = "Current setting is ";
  s += d.toGMTString();
  return(s);
}


toGMTString 方法

toGMTString 方法
应用于 		语言参考

Date 对象


toGMTString 方法

toGMTString 方法
请参阅 		语言参考

Date 对象的方法
toUTCString 方法


toLocaleString 方法

toLocaleString 方法 		语言参考
版本 1

请参阅 应用于

描述
返回一个日期，该日期使用当前区域设置并已被转换为字符串。
语法
dateObj.toLocaleString( )
说明
toLocaleString 方法返回一个 String 对象，这个对象中包含了用当前区域设置的默认格式表示的日期。返回值的格式要根据当前的区域设置来确定。例如，同样是 1 月 5 日，在美国，toLocaleString 可能会返回 "01/05/96 00:00:00"，而在欧洲，返回值则可能是 "05/01/96 00:00:00"，因为欧洲的惯例是将日期放在月份前面。

下面这个例子说明了 toLocaleString 方法的用法：

function toLocaleStrDemo()
{
  var d, s;
  d = new Date();
  s = "Current setting is ";
  s += d.toLocaleString();
  return(s);
}


toLocaleString 方法

toLocaleString 方法
应用于 		语言参考

Date 对象


toLocaleString 方法

toLocaleString 方法
请参阅 		语言参考

Date 对象的方法


toUTCString 方法

toUTCString 方法 		语言参考
版本 3

请参阅 应用于

描述
返回一个已被转换为字符串的，用全球标准时间 (UTC)表示的日期。
语法
objDate.toUTCString()
说明
toUTCString 方法返回一个 String 对象，此对象中包含了使用 UTC 惯例以一种方便易读的形式进行格式化的日期。

下面这个例子说明了 toUTCString 方法的用法：

function toUTCStrDemo()
{
  var d, s;
  d = new Date();
  s = "Current setting is ";
  s += d.toUTCString();
  return(s);
}


toUTCString 方法

toUTCString 方法
应用于 		语言参考

Date 对象


toUTCString 方法

toUTCString 方法
请参阅 		语言参考

Date 对象的方法
toGMTString 方法


UTC 方法

UTC 方法 		语言参考
版本 1

请参阅 应用于

描述

返回全球标准时间 (UTC) (或 GMT) 的 1970 年 1 月 1 日到所指定日期之间所间隔的毫秒数。

语法
Date.UTC(year, month, day[, hours[, minutes[, seconds[,ms]]]])

UTC 方法的语法包括这些部分：

部分 | 描述
year | 必选项。为了获得跨世纪日期处理的精确性，需要使用完整的年份表示法。如果 year 处于 0 到 99 之间，那么 year 就被假定为 1900 + year。
month | 必选项。月份是一个处于 0 到 11 之间的整数 (一月到十二月)。
date | 必选项。日期是一个处于 1 到 31 之间的整数。
hours | 可选项。如果提供了 minutes，那么此项也必须提供。0 到 23 之间的一个整数 (午夜到 11pm)，用来指定小时。
minutes | 可选的，如果提供了 seconds，那么此项也必须提供。 0 到 59 之间的一个整数，用来指定分钟值。
seconds | 可选项。如果提供了 milliseconds，那么此项也必须提供。从 0 到 59 之间的一个整数，用来指定秒钟值。
ms | 可选项。从 0 到 999 之间的一个整数，用来指定毫秒数。

说明

UTC 方法返回从 UTC 的 1970 年 1 月 1 日午夜到所指定日期之间的毫秒数。这个返回值可以用在 setTime 方法中和 Date 对象的构造函数中。如果一个参数的值超出其范围或者是一个负数，那么其他保存过的值将相应地得到改变。例如，如果使用者指定 150 秒，JScript 会将该数值重新定义为 2 分钟 30 秒。

UTC 方法和 Date 对象的接受日期值的构造函数之间的差别在于： UTC 方法假设 UTC，而 Date 对象的构造函数假定本地时间。

UTC 方法是一个静态方法。因此，Date 对象不一定要在创建完之后才可以使用。UTC 方法的调用方式如下：

var datestring = "November 1, 1997 10:15 AM";
Date.UTC(datestring)
注意 如果 year 的值在 0 到 99 之间请使用 1900 + year 来计算年份。

下面这个例子说明了 UTC 方法的用法：

function DaysBetweenDateAndNow(yr, mo, dy)
{
  var d, r, t1, t2, t3;
  var MinMilli = 1000 * 60
  var HrMilli = MinMilli * 60
  var DyMilli = HrMilli * 24
  t1 = Date.UTC(yr, mo, dy)
  d = new Date();
  t2 = d.getTime();
  if (t2 >= t1)
    t3 = t2 - t1;
  else
    t3 = t1 - t2;
  r = Math.round(t3 / DyMilli);
  return(r);
}


UTC 方法

UTC 方法
应用于 		语言参考

Date 对象


UTC 方法

UTC 方法
请参阅 		语言参考

Date 对象的方法
setTime 方法


Add 方法 (Dictionary)

Add 方法 (Dictionary) 		Scripting 运行时库参考
版本 2

请参阅 应用于

描述
向 Dictionary 对象中添加一个主键条目对。
语法
object.Add (key, item)

Add 方法包括下面这些部分：

部分 | 描述
object | 必选项。总是一个 Dictionary 对象的名称。
key | 必选项。与被添加的 item 相关联的 key。
item | 必选项。与被添加的 key 相关联的 item。

说明
如果 key 已经存在，那么将导致一个错误。

下面这个例子说明了 Add 方法的用法：

var d;
d = new ActiveXObject("Scripting.Dictionary");
d.Add("a", "Athens");
d.Add("b", "Belgrade");
d.Add("c", "Cairo");


Add 方法 (Dictionary)

Add 方法 (Dictionary)
应用于 		Scripting 运行时库参考

Dictionary 对象


Add 方法 (Dictionary)

Add 方法 (Dictionary)
请参阅 		Scripting 运行时库参考

Add 方法 (Folders)
Exists 方法
Items 方法
Keys 方法
Remove 方法
RemoveAll 方法


CompareMode 属性

CompareMode 属性 		Scripting 运行时库参考
版本 2

请参阅 应用于

描述
设置或者返回在 Dictionary 对象中进行字符串主键比较时所使用的比较模式。
语法
object.CompareMode[ = compare]

CompareMode 属性包括下面这些部分：

部分 | 描述
object | 必选项。总是一个 Dictionary 对象的名称。
compare | 可选项。如果提供了此项，compare 就是一个代表比较模式的值。可以使用的值是 0 (二进制)、1 (文本), 2 (数据库)。大于 2 的值可以用来表示使用特殊的区域设置 ID (LCID) 而进行的比较。

说明
如果试图改变一个已经包含有数据的 Dictionary 对象的比较模式，那么将导致一个错误。

下面这个例子说明了 CompareMode 属性的用法：

function TestCompareMode(key)
{
  // 创建一些变量。
  var a, d;
  var BinaryCompare = 0, TextCompare = 1;
  d = new ActiveXObject("Scripting.Dictionary");
  // 将比较模式设置为文本模式。
  d.CompareMode = TextCompare;
  // 添加一些主键和条目。
  d.Add("a", "Athens");
  d.Add("b", "Belgrade");
  d.Add("c", "Cairo");
  return(d.Item(key));
}


CompareMode 属性

CompareMode 属性
应用于 		Scripting 运行时库参考

Dictionary 对象


CompareMode 属性

CompareMode 属性
请参阅 		Scripting 运行时库参考

Key 属性


Count 属性

Count 属性 		Scripting 运行时库参考
版本 2

请参阅 应用于

描述
返回一个集合或 Dictionary 对象中的条目数。只读属性。
语法
object.Count

其中 object 总是“应用于”列表中一个条目的名称。

说明
下面这段代码说明了 Count 属性的用法:
function CountDemo()
{
  var a, d, i, s;                		// 创建一些变量。
  d = new ActiveXObject("Scripting.Dictionary");
  d.Add ("a", "Athens");         		// 添加一些主键和条目。
  d.Add ("b", "Belgrade");
  d.Add ("c", "Cairo");
  a = (new VBArray(d.Keys()));    		// 获取主键。
  s = "";
  for (i = 0; i < d.Count; i++)   		//遍历dictionary。
  {
    s += a.getItem(i) + " - " + d(a.getItem(i)) + "<br>";
  }
  return(s);     		         	// 返回结果。
}


Count 属性

Count 属性
应用于 		Scripting 运行时库参考

Dictionary 对象
Drives 集合
Files 集合
Folders 集合


Count 属性

Count 属性
请参阅 		Scripting 运行时库参考

CompareMode 属性
Item 属性
Key 属性


Exists 方法

Exists 方法 		Scripting 运行时库参考
版本 2

请参阅 应用于

描述
如果 Dictionary 对象中存在所指定的主键则返回 true，否则返回 false。
语法
object.Exists(key)

Exists 方法的语法包括下面这些部分：

部分 | 描述
object | 必选项。总是一个 Dictionary 对象的名称。
key | 必选项。需要在 Dictionary 对象中搜索的 key 值。

下面这个例子说明了 Exists 方法的用法：

function keyExists(k)
{
  var fso, s = "";
  d = new ActiveXObject("Scripting.Dictionary");
  d.Add("a", "Athens");
  d.Add("b", "Belgrade");
  d.Add("c", "Cairo");
  if (d.Exists(k))
    s += "Specified key exists.";
  else
    s += "Specified key doesn't exist.";
  return(s);
}


Exists 方法

Exists 方法
应用于 		Scripting 运行时库参考

Dictionary 对象


Exists 方法

Exists 方法
请参阅 		Scripting 运行时库参考

Add 方法 (Dictionary)
Items 方法
Keys 方法
Remove 方法
RemoveAll 方法


Item 属性

Item 属性 		Scripting 运行时库参考
版本 2

请参阅 应用于

描述
在一个 Dictionary 对象中设置或者返回所指定 key 的 item。对于集合则根据所指定的 key 返回一个 item。读/写。
语法
object.Item(key)[ = newitem]

Item 属性包括下面这些部分：

部分 | 描述
object | 必选项。总是一个集合的名称或 Dictionary 对象的名称。
key | 必选项。与要被查找或添加的 item 相关联的 key。
newitem | 可选项。仅适用于 Dictionary 对象；对于集合不可使用此项。如果提供了此项，newitem 就是与所指定的 key 相关联的新值。

说明
如果在改变一个 key 的时候没有找到该 item，那么将利用所指定的 newitem 创建一个新的 key。如果在试图返回一个已有条目的时候没有找到 key，那么将创建一个新的 key 且其相关的条目被设置为空。

下面这个例子说明了 Item 属性的用法。

function DicTest(keyword)
{
  var a, d;
  d = new ActiveXObject("Scripting.Dictionary");
  d.Add("a", "Athens");
  d.Add("b", "Belgrade");
  d.Add("c", "Cairo");
  a = d.Item(keyword);
  return(a);
}


Item 属性

Item 属性
应用于 		Scripting 运行时库参考

Dictionary 对象
Drives 集合
Files 集合
Folders 集合


Item 属性

Item 属性
请参阅 		Scripting 运行时库参考

CompareMode 属性
Count 属性
Key 属性


Items 方法

Items 方法 		Scripting 运行时库参考
版本 2

请参阅 应用于

描述
返回一个数组，其中包含了一个 Dictionary 对象中的所有条目。
语法
object.Items( )

其中 object 总是一个 Dictionary 对象的名称。

说明
下面这段代码说明了 Items 方法的用法：
function ItemsDemo()
{
  var a, d, i, s;					// 创建一些变量。
  d = new ActiveXObject("Scripting.Dictionary");
  d.Add ("a", "Athens");					// 添加一些主键和条目。
  d.Add ("b", "Belgrade");
  d.Add ("c", "Cairo");
  a = (new VBArray(d.Items())).toArray();				// 获取条目。
  s = "";
  for (i in a)						// 遍历该 dictionary。
  {
    s += a[i] + "<br>";
  }
  return(s);						// 返回结果。
}


Items 方法

Items 方法
应用于 		Scripting 运行时库参考

Dictionary 对象


Items 方法

Items 方法
请参阅 		Scripting 运行时库参考

Add 方法 (Dictionary)
Exists 方法
Keys 方法
Remove 方法
RemoveAll 方法


Key 属性

Key 属性 		Scripting 运行时库参考
版本 2

请参阅 应用于

描述
在 Dictionary 对象中设置一个 key。
语法
object.Key(key) = newkey

Key 属性包括下面这些部分：

部分 | 描述
object | 必选项。总是一个 Dictionary 对象的名称。
key | 必选项。被改变的 key 值。
newkey | 必选项。替换所指定的 key 的新值。

说明
如果在改变一个 key 时没有发现该 key，那么将创建一个新的 key 并且其相关联的 item 被设置为空。

下面这段代码说明了 Key 属性的用法：

var d;
d = new ActiveXObject("Scripting.Dictionary");

function AddStuff()
{
  var a;
  d.Add("a", "Athens");
  d.Add("b", "Belgrade");
  d.Add("c", "Cairo");
}

function ChangeKey(oldkey, newkey)
{
  var s;
  d.Key("c") = "Ca";
  s = "Key " + oldkey + " changed to " + newkey;
  return(s);
}


Key 属性

Key 属性
应用于 		Scripting 运行时库参考

Dictionary 对象


Key 属性

Key 属性
请参阅 		Scripting 运行时库参考

CompareMode 属性
Count 属性
Item 属性


Keys 方法

Keys 方法 		Scripting 运行时库参考
版本 2

请参阅 应用于

描述
返回一个数组，其中包含了一个 Dictionary 对象中的全部现有的主键。
语法
object.Keys( )

其中 object 总是一个 Dictionary 对象的名称。

说明
下面这段代码说明了 Keys 方法的用法：
function KeysDemo()
{
  var a, d, i, s;					// 创建一些变量。
  d = new ActiveXObject("Scripting.Dictionary");
  d.Add ("a", "Athens");					// 添加一些主键和条目。
  d.Add ("b", "Belgrade");
  d.Add ("c", "Cairo");
  a = (new VBArray(d.Keys())).toArray();				// 获得主键。
  s = "";
  for (i in a)						// 遍历 dictionary。
  {
    s += a[i] + " - " + d(a[i]) + "<br>";
  }
  return(s);						// 返回结果。
}


Keys 方法

Keys 方法
应用于 		Scripting 运行时库参考

Dictionary 对象


Keys 方法

Keys 方法
请参阅 		Scripting 运行时库参考

Add 方法 (Dictionary)
Exists 方法
Items 方法
Remove 方法
RemoveAll 方法


Remove 方法

Remove 方法 		Scripting 运行时库参考
版本 2

请参阅 应用于

描述
从一个 Dictionary 对象中删除一个主键，条目对。
语法
object.Remove(key)

Remove 方法的语法包括下面这些部分：

部分 | 描述
object | 必选项。总是一个 Dictionary 对象的名称。
key | 必选项。 key 与要从 Dictionary 对象中删除的主键，条目对相关联。

说明
如果所指定的主键，条目对不存在，那么将导致一个错误。

下面这段代码说明了 Remove 方法的用法：

var a, d, i, s;              // 创建一些变量。
d = new ActiveXObject("Scripting.Dictionary");
d.Add ("a", "Athens");       // 添加一些主键条目对。
d.Add ("b", "Belgrade");
d.Add ("c", "Cairo");
...
d.Remove("b");               // 删除第二对主键条目对。


Remove 方法

Remove 方法
应用于 		Scripting 运行时库参考

Dictionary 对象


RemoveAll 方法

RemoveAll 方法 		Scripting 运行时库参考
版本 2

请参阅 应用于

描述
RemoveAll 方法从一个 Dictionary 对象中删除所有的主键，条目对。
语法
object.RemoveAll( )

其中 object 总是一个 Dictionary 对象的名称。

说明
下面这段代码说明了 RemoveAll 方法的用法：
var a, d, i;            		// 创建一些变量。
d = new ActiveXObject("Scripting.Dictionary");
d.Add ("a", "Athens");   		// 添加一些主键和条目。
d.Add ("b", "Belgrade");
d.Add ("c", "Cairo");
...
d.RemoveAll( );		// 清除 dictionary。


RemoveAll 方法

RemoveAll 方法
应用于 		Scripting 运行时库参考

Dictionary 对象


RemoveAll 方法

RemoveAll 方法
请参阅 		Scripting 运行时库参考

Add 方法 (Dictionary)
Exists 方法
Items 方法
Keys 方法
Remove 方法


Remove 方法

Remove 方法
请参阅 		Scripting 运行时库参考

Add 方法 (Dictionary)
Exists 方法
Items 方法
Keys 方法
RemoveAll 方法


AvailableSpace 属性

AvailableSpace 属性 		Scripting 运行时库参考
版本 3

请参阅 应用于

描述
返回在所指定的驱动器或网络共享上可用的空间的大小。
语法
object.AvailableSpace

其中 object 总是一个 Drive 对象。

说明
在典型情况下，由 AvailableSpace 属性所返回的值与 FreeSpace 属性所返回的值是一样的。但是对于支持 quotas 的两个计算机系统之间返回值可能会有所不同。

下面这段代码说明了 AvailableSpace 属性的用法：

function ShowAvailableSpace(drvPath)
{
  var fso, d, s;
  fso = new ActiveXObject("Scripting.FileSystemObject");
  d = fso.GetDrive(fso.GetDriveName(drvPath));
  s = "Drive " + drvPath.toUpperCase() + " - ";
  s += d.VolumeName + "<br>";
  s += "Available Space: " + d.AvailableSpace/1024 + " Kbytes";
  return(s);
}


AvailableSpace 属性

AvailableSpace 属性
应用于 		Scripting 运行时库参考

Drive 对象


AvailableSpace 属性

AvailableSpace 属性
请参阅 		Scripting 运行时库参考

DriveLetter 属性
DriveType 属性
FileSystem 属性
FreeSpace 属性
IsReady 属性
Path 属性
RootFolder 属性
SerialNumber 属性
ShareName 属性
TotalSize 属性
VolumeName 属性


DriveLetter 属性

DriveLetter 属性 		Scripting 运行时库参考
版本 3

请参阅 应用于

描述
返回一个物理上的本地驱动器或者网络共享的驱动器号。只读属性。
语法
object.DriveLetter

其中 object 总是一个 Drive 对象。

说明
如果所指定的驱动器没有与一个驱动器号关联起来，例如，一个没有映射到驱动器号的网络共享，那么 DriveLetter 属性将返回一个长度为 0 的字符串 ("")。

下面这段代码说明了 DriveLetter 属性的用法：

function ShowDriveLetter(drvPath)
{
  var fso, d, s;
  fso = new ActiveXObject("Scripting.FileSystemObject");
  d = fso.GetDrive(fso.GetDriveName(drvPath));
  s = "Drive " + d.DriveLetter.toUpperCase( ) + ": - ";
  s += d.VolumeName + "<br>";
  s += "Available Space: " + d.AvailableSpace/1024 + " Kbytes";
  return(s);
}


DriveLetter 属性

DriveLetter 属性
应用于 		Scripting 运行时库参考

Drive 对象


DriveLetter 属性

DriveLetter 属性
请参阅 		Scripting 运行时库参考

AvailableSpace 属性
DriveType 属性
FileSystem 属性
FreeSpace 属性
IsReady 属性
Path 属性
RootFolder 属性
SerialNumber 属性
ShareName 属性
TotalSize 属性
VolumeName 属性


DriveType 属性

DriveType 属性 		Scripting 运行时库参考
版本 3

请参阅 应用于

描述
返回一个值，表示所指定驱动器的类型。
语法
object.DriveType

其中 object 总是一个 Drive 对象。

说明
下面这段代码说明了 DriveType 属性的用法：
function ShowDriveType(drvpath)
{
  var fso, d, s, t;
  fso = new ActiveXObject("Scripting.FileSystemObject");
  d = fso.GetDrive(drvpath);
  switch (d.DriveType)
  {
    case 0: t = "Unknown"; break;
    case 1: t = "Removable"; break;
    case 2: t = "Fixed"; break;
    case 3: t = "Network"; break;
    case 4: t = "CD-ROM"; break;
    case 5: t = "RAM Disk"; break;
  }
  s = "Drive " + d.DriveLetter + ": - " + t;
  return(s);
}


DriveType 属性

DriveType 属性
应用于 		Scripting 运行时库参考

Drive 对象


DriveType 属性

DriveType 属性
请参阅 		Scripting 运行时库参考

AvailableSpace 属性
DriveLetter 属性
FileSystem 属性
FreeSpace 属性
IsReady 属性
Path 属性
RootFolder 属性
SerialNumber 属性
ShareName 属性
TotalSize 属性
VolumeName 属性


FileSystem 属性

FileSystem 属性 		Scripting 运行时错误
版本 3

请参阅 应用于

描述
返回指定驱动器所使用的文件系统的类型。
语法
object.FileSystem

其中 object 总是一个 Drive 对象。

说明
可能的返回类型包括 FAT、NTFS、和 CDFS。

下面这段代码说明了 FileSystem 属性的用法：

function ShowFileSystemType(drvPath)
{
  var fso,d, s;
  fso = new ActiveXObject("Scripting.FileSystemObject");
  d = fso.GetDrive(drvPath);
  s = d.FileSystem;
  return(s);
}


FileSystem 属性

FileSystem 属性
应用于 		Scripting 运行时库参考

Drive 对象


FileSystem 属性

FileSystem 属性
请参阅 		Scripting 运行时库参考

AvailableSpace 属性
DriveLetter 属性
DriveType 属性
FreeSpace 属性
IsReady 属性
Path 属性
RootFolder 属性
SerialNumber 属性
ShareName 属性
TotalSize 属性
VolumeName 属性


FreeSpace 属性

FreeSpace 属性 		Scripting 运行时库参考
版本 3

请参阅 应用于

描述
向用户返回指定驱动器或网络共享上的可用空间的大小。只读。
语法
object.FreeSpace

object 应为 Drive 对象。

说明
典型情况中，由 FreeSpace 属性返回的值和由 AvailableSpace 属性返回的值是相同的。对于支持 quotas 的计算机系统来说两者有可能不同。

下面的代码说明了 FreeSpace 属性的用法：

function ShowFreeSpace(drvPath)
{
  var fso, d, s;
  fso = new ActiveXObject("Scripting.FileSystemObject");
  d = fso.GetDrive(fso.GetDriveName(drvPath));
  s = "Drive " + drvPath.toUpperCase( ) + " - ";
  s += d.VolumeName + "<br>";
  s += "Free Space: " + d.FreeSpace/1024 + " Kbytes";
  return(s);
}


FreeSpace 属性

FreeSpace 属性
应用于 		Scripting 运行时库参考

Drive 对象


FreeSpace 属性

FreeSpace 属性
请参阅 		Scripting 运行时库参考

AvailableSpace 属性
DriveLetter 属性
DriveType 属性
FileSystem 属性
IsReady 属性
Path 属性
RootFolder 属性
SerialNumber 属性
ShareName 属性
TotalSize 属性
VolumeName 属性


IsReady 属性

IsReady 属性 		Scripting 运行时库参考
版本 3

请参阅 应用于

描述
如果指定驱动器已就绪则返回 True ；否则 False。
语法
object.IsReady

object 应为 Drive 对象。

说明
对于可移动媒体的驱动器和 CD-ROM 驱动器来说，IsReady 只有在插入了适当的媒体并已准备好访问时才返回 True 。

下面的代码说明了 IsReady 属性的用法：

function ShowDriveInfo(drvpath)
{
  var fso, d, s, t;
  fso = new ActiveXObject("Scripting.FileSystemObject")
  d = fso.GetDrive(drvpath)
  switch (d.DriveType)
  {
    case 0: t = "Unknown"; break;
    case 1: t = "Removable"; break;
    case 2: t = "Fixed"; break;
    case 3: t = "Network"; break;
    case 4: t = "CD-ROM"; break;
    case 5: t = "RAM Disk"; break;
  }
  s = "Drive " + d.DriveLetter + ": - " + t;
  if (d.IsReady)
    s += "<br>" + "驱动器就绪。";
  else
    s += "<br>" + "驱动器未准备好。";
  return(s);
}


IsReady 属性

IsReady 属性
应用于 		Scripting 运行时库参考

Drive 对象


IsReady 属性

IsReady 属性
请参阅 		Scripting 运行时库参考

AvailableSpace 属性
DriveLetter 属性
DriveType 属性
FileSystem 属性
FreeSpace 属性
Path 属性
RootFolder 属性
SerialNumber 属性
ShareName 属性
TotalSize 属性
VolumeName 属性


Path 属性

Path 属性 		Scripting 运行时库参考
版本 3

请参阅 应用于

描述
返回指定文件、文件夹或驱动器的路径。
语法
object.Path

object 总是为 File、Folder 或 Drive 对象。

说明
驱动器字母后不包括根驱动器。 例如， C 驱动器的路径是 C:，而不是 C:\。

下面的代码通过 File 对象说明了 Path 属性的用法：

function ShowFileAccessInfo(filespec)
{
  var fso, d, f, s;
  fso = new ActiveXObject("Scripting.FileSystemObject");
  f = fso.GetFile(filespec);
  s = f.Path.toUpperCase() + "<br>";
  s += "Created: " + f.DateCreated + "<br>";
  s += "Last Accessed: " + f.DateLastAccessed + "<br>";
  s += "Last Modified: " + f.DateLastModified
  return(s);
}


Path 属性

Path 属性
应用于 		Scritping 运行时库参考

Drive 对象
File 对象
Folder 对象


Path 属性

Path 属性
请参阅 		Scripting 运行时库参考

Attributes 属性
AvailableSpace 属性
DateCreated 属性
DateLastAccessed 属性
DateLastModified 属性
Drive 属性
DriveLetter 属性
DriveType 属性
Files 属性
FileSystem 属性
FreeSpace 属性
IsReady 属性
IsRootFolder 属性
Name 属性
ParentFolder 属性
RootFolder 属性
SerialNumber 属性
ShareName 属性
ShortName 属性
ShortPath 属性
Size 属性
SubFolders 属性
TotalSize 属性
Type 属性
VolumeName 属性


RootFolder 属性

RootFolder 属性 		Scripting 运行时库参考
版本 3

请参阅 应用于

描述
返回一个 Folder 对象，表示指定驱动器的根文件夹。 只读。
语法
object.RootFolder

object 总是为 Drive 对象。

说明
可以通过返回的 Folder 对象来访问驱动器上的所有文件和文件夹。

下面的例子说明了 RootFolder 属性的用法：

function GetRootFolder(drv)
{
  var fso,d;
  fso = new ActiveXObject("Scripting.FileSystemObject");
  if (fso.DriveExists(drv))
    {
      d = fso.GetDrive(drv);
      return(d.RootFolder);
    }
  else
    return(false);
}


RootFolder 属性

RootFolder 属性
应用于 		Scripting 运行时库参考

Drive 对象


RootFolder 属性

RootFolder 属性
请参阅 		Scripting 运行时库参考

AvailableSpace 属性
DriveLetter 属性
DriveType 属性
FileSystem 属性
FreeSpace 属性
IsReady 属性
Path 属性
SerialNumber 属性
ShareName 属性
TotalSize 属性
VolumeName 属性


SerialNumber 属性

SerialNumber 属性 		Scripting 运行时库参考
版本 3

请参阅 应用于

描述
返回用于唯一标识磁盘分卷的数字序列号。
语法
object.SerialNumber

object 总是为 Drive 对象。

说明
可以使用 SerialNumber 属性来确保可移动媒体驱动器中插入的磁盘是正确的。

下面的代码说明了 SerialNumber 属性的用法：

function ShowDriveInfo(drvpath)
{
  var fso, d, s, t;
  fso = new ActiveXObject("Scripting.FileSystemObject");
  d = fso.GetDrive(fso.GetDriveName(fso.GetAbsolutePathName(drvpath)));
  switch (d.DriveType)
  {
    case 0: t = "Unknown"; break;
    case 1: t = "Removable"; break;
    case 2: t = "Fixed"; break;
    case 3: t = "Network"; break;
    case 4: t = "CD-ROM"; break;
    case 5: t = "RAM Disk"; break;
  }
  s = "Drive " + d.DriveLetter + ": - " + t;
  s += "<br>" + "SN: " + d.SerialNumber;
  return(s);
}


SerialNumber 属性

SerialNumber 属性
应用于 		Scripting 运行时库参考

Drive 对象


SerialNumber 属性

SerialNumber 属性
请参阅 		Scripting 运行时库参考

AvailableSpace 属性
DriveLetter 属性
DriveType 属性
FileSystem 属性
FreeSpace 属性
IsReady 属性
Path 属性
RootFolder 属性
ShareName 属性
TotalSize 属性
VolumeName 属性


ShareName 属性

ShareName 属性 		Scripting 运行时库参考
版本 3

请参阅 应用于

描述
返回指定驱动器的网络共享名。
语法
object.ShareName

object 总是为 Drive 对象。

说明
如果 object 不是网络驱动器，那么 ShareName 属性将返回长度为零的字符串 ("") 。

下面的代码说明了 ShareName 属性的用法：

function ShowDriveInfo(drvpath)
{
  var fso, d, s;
  fso = new ActiveXObject("Scripting.FileSystemObject");
  d = fso.GetDrive(fso.GetDriveName(fso.GetAbsolutePathName(drvpath)));
  s = "Drive " + d.DriveLetter + ": - " + d.ShareName;
  return(s);
}


ShareName 属性

ShareName 属性
应用于 		Scripting 运行时库参考

Drive 对象


ShareName 属性

ShareName 属性
请参阅 		Scripting 运行时库参考

AvailableSpace 属性
DriveLetter 属性
DriveType 属性
FileSystem 属性
FreeSpace 属性
IsReady 属性
Path 属性
RootFolder 属性
SerialNumber 属性
TotalSize 属性
VolumeName 属性


TotalSize 属性

TotalSize 属性 		Scripting 运行时库参考
版本 3

请参阅 应用于

描述
以字节为单位返回驱动器或网络共享的所有空间大小。
语法
object.TotalSize

object 总是为 Drive 对象。

说明
下面的代码说明了 TotalSize 属性的用法：
function SpaceReport(drvPath)
{
  var fso, d, s;
  fso = new ActiveXObject("Scripting.FileSystemObject");
  d = fso.GetDrive(fso.GetDriveName(drvPath));
  s = "Drive " + drvPath + " - ";
  s += d.VolumeName + "<br>";
  s += "Total Space: "+ d.TotalSize/1024 + " Kbytes <br>";
  s += "Free Space:  " + d.FreeSpace/1024 + " Kbytes";
  return(s);
}


TotalSize 属性

TotalSize 属性
应用于 		Scripting 运行时库参考

Drive 对象


TotalSize 属性

TotalSize 属性
请参阅 		Scripting 运行时库参考

AvailableSpace 属性
DriveLetter 属性
DriveType 属性
FileSystem 属性
FreeSpace 属性
IsReady 属性
Path 属性
RootFolder 属性
SerialNumber 属性
ShareName 属性
VolumeName 属性


VolumeName 属性

VolumeName 属性 		SCripting 运行时库参考
版本 3

请参阅 应用于

描述
设置或返回指定驱动器的卷名。 读/写。
语法
object.VolumeName [= newname]

VolumeName 属性包括以下部分：

部分 | 描述
object | 必选项。 总是为 Drive 对象的名称。
newname | 可选项。 如果提供了这个部分,那么 newname 就将成为指定的 object 的新名称。

说明
下面的代码说明了 VolumeName 属性的用法：
function SpaceReport(drvPath)
{
  var fso, d, s;
  fso = new ActiveXObject("Scripting.FileSystemObject");
  d = fso.GetDrive(fso.GetDriveName(drvPath));
  s = "Drive " + drvPath + " - ";
  s += d.VolumeName + "<br>";
  s += "Total Space: "+ d.TotalSize/1024 + " Kbytes <br>";
  s += "Free Space:  " + d.FreeSpace/1024 + " Kbytes";
  return(s);
}


VolumeName 属性

VolumeName 属性
应用于 		Scripting 运行时库参考

Drive 对象


VolumeName 属性

VolumeName 属性
请参阅 		Scripting 运行时库参考

AvailableSpace 属性
DriveLetter 属性
DriveType 属性
FileSystem 属性
FreeSpace 属性
IsReady 属性
Path 属性
RootFolder 属性
SerialNumber 属性
ShareName 属性
TotalSize 属性


atEnd 方法

atEnd 方法 		语言参考
版本 3

请参阅 应用于

描述
返回一个 Boolean 值，指明枚举算子是否位于集合的末尾。
语法
myEnum.atEnd( )

myEnum 参数是任意 Enumerator 对象。

返回值
如果当前项是集合中的最后一个，或者集合为空，或者当前项没有定义,那么 atEnd 方法将返回 true 。否则返回 false 。
说明
在下面的代码中，使用了 atEnd 方法来决定是否到达了一个驱动器列表的末尾：
function ShowDriveList()
{
  var fso, s, n, e, x;
  fso = new ActiveXObject("Scripting.FileSystemObject");
  e = new Enumerator(fso.Drives);
  s = "";
  for (; !e.atEnd(); e.moveNext())
  {
    x = e.item();
    s = s + x.DriveLetter;
    s += " - ";
    if (x.DriveType == 3)
      n = x.ShareName;
    else if (x.IsReady)
      n = x.VolumeName;
    else
      n = "[驱动器未就绪]";
    s +=  n + "<br>";
  }
  return(s);
}


atEnd 方法

atEnd 方法
应用于 		语言参考

Enumerator 对象


atEnd 方法

atEnd 方法
请参阅 		语言参考

item 方法
moveFirst 方法
moveNext 方法


item 方法

item 方法 		语言参考
版本 3

请参阅 应用于

描述
返回集合中的当前项。
语法
myEnum.item( )

myEnum 参数是任意 Enumerator 对象。

返回值
item 方法返回当前项。 如果集合为空或者当前项没有定义，那么将返回 undefined 。
说明

在下面的代码中，使用了 item 方法返回 Drives 集合中的一个成员：

function ShowDriveList()
{
  var fso, s, n, e, x;
  fso = new ActiveXObject("Scripting.FileSystemObject");
  e = new Enumerator(fso.Drives);
  s = "";
  for (; !e.atEnd(); e.moveNext())
  {
    x = e.item();
    s = s + x.DriveLetter;
    s += " - ";
    if (x.DriveType == 3)
      n = x.ShareName;
    else if (x.IsReady)
      n = x.VolumeName;
    else
      n = "[驱动器未就绪]";
    s +=  n + "<br>";
  }
  return(s);
}


item 方法

item 方法
应用于 		语言参考

Enumerator 对象


item 方法

item 方法
请参阅 		语言参考

atEnd 方法
moveFirst 方法
moveNext 方法


moveFirst 方法

moveFirst 方法 		语言参考
版本 3

请参阅 应用于

描述
重新将集合中的当前项设置为第一项。
语法
myEnum.moveFirst( )

myEnum 参数是任意 Enumerator 对象。

说明
如果集合中没有项，那么当前项将被设置为 undefined 。

在下面的例子中，使用了 moveFirst 方法从列表的开始处对 Drives 集合的成员进行计算：

function ShowFirstAvailableDrive()
{
  var fso, s, e, x;
  fso = new ActiveXObject("Scripting.FileSystemObject");
  e = new Enumerator(fso.Drives);
  e.moveFirst();
  s = "";
  do
  {
     x = e.item();
     if (x.IsReady)
     {
       s = x.DriveLetter + ":";
       break;
     }
     else
       if (e.atEnd())
       {
         s = "No drives are available";
         break;
       }
     e.moveNext();
  }
  while (!e.atEnd());
  return(s);
}


moveFirst 方法

moveFirst 方法
应用于 		语言参考

Enumerator 对象


moveFirst 方法

moveFirst 方法
请参阅 		语言参考

atEnd 方法
item 方法
moveNext 方法


moveNext 方法

moveNext 方法 		语言参考
版本 3

请参阅 应用于

描述
将集合中的当前项移动到下一项。
语法
myEnum.moveNext( )

myEnum 参数是任意 Enumerator 对象。

说明
如果枚举算子位于集合的最后，或者集合为空，那么当前项将被设置为 undefined 。

在下面的例子中，使用了 moveNext 方法在 Drives 集合中向下一个驱动器移动：

function ShowDriveList()
{
  var fso, s, n, e, x;
  fso = new ActiveXObject("Scripting.FileSystemObject");
  e = new Enumerator(fso.Drives);
  s = "";
  for (; !e.atEnd(); e.moveNext())
  {
    x = e.item();
    s = s + x.DriveLetter;
    s += " - ";
    if (x.DriveType == 3)
      n = x.ShareName;
    else if (x.IsReady)
      n = x.VolumeName;
    else
      n = "[驱动器未就绪]";
    s +=  n + "<br>";
  }
  return(s);
}


moveNext 方法

moveNext 方法
应用于 		语言参考

Enumerator 对象


moveNext 方法

moveNext 方法
请参阅 		语言参考

atEnd 方法
item 方法
moveFirst 方法


Attributes 属性

Attributes 属性 		Scripting 运行时库参考
版本 3

请参阅 应用于

描述
设置或返回文件或文件夹的属性。 根据不同属性为读/写或只读。
语法
object.Attributes [= newattributes]

Attributes 属性包括以下部分：

部分 | 描述
object | 必选项。 应为 File 或 Folder 对象的名称。
newattributes | 可选项。 如果提供了这个部分，那么 newattributes 将成为指定的 object 的新属性值。

设置
newattributes 参数可以是下列各值或者这些值的任意逻辑组合：

常数 | 值 | 描述
Normal | 0 | 普通文件。 不设置属性。
ReadOnly | 1 | 只读文件。 属性为读/写。
Hidden | 2 | 隐藏文件。 属性为读/写。
System | 4 | 系统文件。 属性为读/写。
Volume | 8 | 磁盘驱动器卷标。 属性为只读。
Directory | 16 | 文件夹或目录。 属性为只读。
Archive | 32 | 文件在上次备份后已经修改。 属性为读/写。
Alias | 64 | 链接或者快捷方式。 属性为只读。
Compressed | 128 | 压缩文件。 属性为只读。

说明
下面的代码通过一个文件说明了 Attributes 属性的用法：
function ToggleArchiveBit(filespec)
{
  var fso, f, r, s;
  fso = new ActiveXObject("Scripting.FileSystemObject");
  f = fso.GetFile(filespec)
  if (f.attributes && 32)
  {
    f.attributes = f.attributes - 32;
    s = "Archive bit is cleared.";
  }
  else
  {
    f.attributes = f.attributes + 32;
    s =  "Archive bit is set.";
  }
  return(s);
}


Attributes 属性

Attributes 属性
应用于 		Scripting 运行时库参考

File 对象
Folder 对象


Attributes 属性

Attributes 属性
请参阅 		Scripting 运行时库参考

DateCreated 属性
DateLastAccessed 属性
DateLastModified 属性
Drive 属性
Files 属性
IsRootFolder 属性
Name 属性
ParentFolder 属性
Path 属性
ShortName 属性
ShortPath 属性
Size 属性
SubFolders 属性
Type 属性


Copy 方法

Copy 方法 		Scripting 运行时库参考
版本 3

请参阅 应用于

描述
将指定文件或文件夹从一个位置复制到另一位置。
语法
object.Copy( destination[, overwrite] );

Copy 方法的语法包括了以下部分：

部分 | 描述
object | 必选项。 应为 File 或 Folder 对象的名称。
destination | 必选项。 复制文件或文件夹的目的位置。 不允许通配字符。
overwrite | 可选项。 Boolean 值，如果要覆盖已有文件或文件夹，则为 True （默认）；否则，则为 False 。

说明
Copy 方法对单个 File 或 Folder 所产生的结果和使用 FileSystemObject.CopyFile 或 FileSystemObject.CopyFolder 所执行的操作结果一样，其中，后者把由 object 所引用的文件或文件夹作为参数传递。 但是请注意，后两种替换方法能够复制多个文件或文件夹。

下面的例子说明了 Copy 方法的用法：

var fso, f;
fso = new ActiveXObject("Scripting.FileSystemObject");
f = fso.CreateTextFile("c:\\testfile.txt", true);
f.WriteLine("This is a test.");
f.Close();
f = fso.GetFile("c:\\testfile.txt");
f.Copy("c:\\windows\\desktop\\test2.txt");


Copy 方法

Copy 方法
应用于 		Scripting 运行时库参考

File 对象
Folder 对象


Copy 方法

Copy 方法
请参阅 		Scripting 运行时库参考

CopyFile 方法
CopyFolder 方法
Delete 方法
Move 方法
OpenAsTextStream 方法


CreateTextFile 方法

CreateTextFile 方法 		Scripting 运行时库参考
版本 2

请参阅 应用于

描述
创建指定的文件名并返回一个 TextStream 对象，可以使用这个对象对文件进行读写。
语法
object.CreateTextFile(filename[, overwrite[, unicode]])

CreateTextFile 方法包括了以下部分:

部分 | 描述
object | 必选项。 应为 FileSystemObject 或 Folder 对象的名称。
filename | 必选项。 指明所要创建文件的字符串表达式。
overwrite | 可选项。 Boolean 值，指明能否覆盖已有文件。 如果文件可以覆盖，则值为 true ，否则为 false 。 如果忽略，则已有文件不能被覆盖。
unicode | 可选项。 Boolean 值，指明文件是否以 Unicode 或 ASCII 文件方式创建。 如果文件作为 Unicode 文件创建，则值为 true ，如果作为 ASCII 文件创建，则为 false。 如果忽略，则假定为 ASCII 文件。

说明
下面的代码说明了如何使用 CreateTextFile 方法来创建和打开一个文本文件：
var fso = new ActiveXObject("Scripting.FileSystemObject");
var a = fso.CreateTextFile("c:\\testfile.txt", true);
a.WriteLine("This is a test.");
a.Close();
如果 overwrite 参数是 false ，或者没有提供这个参数，那么对于已有的 filename 将产生一个错误。


CreateTextFile 方法

CreateTextFile 方法
应用于 		Scripting 运行时库参考

FileSystemObject 对象
Folder 对象


CreateTextFile 方法

CreateTextFile 方法
请参阅 		Scripting 运行时库参考

CreateFolder 方法
OpenAsTextStream 方法
OpenTextFile 方法


DateCreated 属性

DateCreated 属性 		Scripting 运行时库参考
版本 3

请参阅 应用于

描述
返回指定文件或文件夹的创建日期和时间。 只读。
语法
object.DateCreated

object 应为 File 或 Folder 对象。

说明
下面的代码通过一个文件说明了 DateCreated 属性的用法：
function ShowFileInfo(filespec)
{
  var fso, f, s;
  fso = new ActiveXObject("Scripting.FileSystemObject");
  f = fso.GetFile(filespec);
  s = "Created: " + f.DateCreated;
  return(s);
}


DateCreated 属性

DateCreated 属性
应用于 		Scripting 运行时库参考

File 对象
Folder 对象


DateCreated 属性

DateCreated 属性
请参阅 		Scripting 运行时库参考

Attributes 属性
DateLastAccessed 属性
DateLastModified 属性
Drive 属性
Files 属性
IsRootFolder 属性
Name 属性
ParentFolder 属性
Path 属性
ShortName 属性
ShortPath 属性
Size 属性
SubFolders 属性
Type 属性


DateLastAccessed 属性

DateLastAccessed 属性 		Scripting 运行时库参考
版本 3

请参阅 应用于

描述
返回最后访问指定文件或文件夹的日期和时间。 只读。
语法
object.DateLastAccessed

object 应为 File 或 Folder 对象。

说明
下面的代码通过一个文件说明了 DateLastAccessed 属性的用法：
function ShowFileAccessInfo(filespec)
{
  var fso, f, s;
  fso = new ActiveXObject("Scripting.FileSystemObject");
  f = fso.GetFile(filespec);
  s = filespec.toUpperCase() + "<br>";
  s += "创建时间： " + f.DateCreated + "<br>";
  s += "最近一次访问时间：" + f.DateLastAccessed + "<br>";
  s += "最近一次修改时间： " + f.DateLastModified;
  return(s);
}
重要 这个方法的操作依赖于底层的操作系统。 如果操作系统不支持提供时间信息，那么将不会返回任何信息。


DateLastAccessed 属性

DateLastAccessed 属性
应用于 		Scripting 运行时库参考

File 对象
Folder 对象


DateLastAccessed 属性

DateLastAccessed 属性
请参阅 		Scripting 运行时库参考

Attributes 属性
DateCreated 属性
DateLastModified 属性
Drive 属性
Files 属性
IsRootFolder 属性
Name 属性
ParentFolder 属性
Path 属性
ShortName 属性
ShortPath 属性
Size 属性
SubFolders 属性
Type 属性


DateLastModified 属性

DateLastModified 属性 		Scripting 运行时库参考
版本 3

请参阅 应用于

描述
返回最后修改指定文件或文件夹的日期和时间。 只读。
语法
object.DateLastModified

object 应为 File 或 Folder 对象。

说明
下面的代码通过一个文件说明了 DateLastModified 属性的用法：
function ShowFileAccessInfo(filespec)
{
  var fso, f, s;
  fso = new ActiveXObject("Scripting.FileSystemObject");
  f = fso.GetFile(filespec);
  s = filespec.toUpperCase() + "<br>";
  s += "创建时间： " + f.DateCreated + "<br>";
  s += "最近一次访问时间： " + f.DateLastAccessed + "<br>";
  s += "最近一次修改时间： " + f.DateLastModified;
  return(s);
}


DateLastModified 属性

DateLastModified 属性
应用于 		Scripting 运行时库参考

File 对象
Folder 对象


DateLastModified 属性

DateLastModified 属性
请参阅 		Scripting 运行时库参考

Attributes 属性
DateCreated 属性
DateLastAccessed 属性
Drive 属性
Files 属性
IsRootFolder 属性
Name 属性
ParentFolder 属性
Path 属性
ShortName 属性
ShortPath 属性
Size 属性
SubFolders 属性
Type 属性


Delete 方法

Delete 方法 		Scripting 运行时库参考
版本 3

请参阅 应用于

描述
删除指定的文件或文件夹。
语法
object.Delete( force );

Delete 方法的语法包括了以下部分：

部分 | 描述
object | 必选项。 应为 File 或 Folder 对象的名称。
force | 可选项。 Boolean 值，如果要删除设置了只读属性的文件或文件夹则为 True ；否则为 False （默认）。

说明
如果指定的文件或文件夹不存在，那么会产生一个错误。

Delete 方法对于单个 File 或 Folder 产生的结果和使用 FileSystemObject.DeleteFile 或 FileSystemObject.DeleteFolder 所执行的操作结果一样。

Delete 方法对于包含内容和不包含内容的文件夹不做区分。 删除指定的文件夹时不考虑是否包含了内容。

下面的例子说明了 Delete 方法的用法：

var fso, f;
fso = new ActiveXObject("Scripting.FileSystemObject");
f = fso.CreateTextFile("c:\\testfile.txt", true);
f.WriteLine("This is a test.");
f.Close();
f = fso.GetFile("c:\\testfile.txt");
f.Delete();


Delete 方法

Delete 方法
应用于 		Scripting 运行时库参考

File 对象
Folder 对象


Delete 方法

Delete 方法
请参阅 		Scripting 运行时库参考

Copy 方法
DeleteFile 方法
DeleteFolder 方法
Move 方法
OpenAsTextStream 方法


Drive 属性

Drive 属性 		Scripting 运行时库参考
版本 3

请参阅 应用于

描述
返回指定文件或文件夹所在驱动器的驱动器号。 只读。
语法
object.Drive

object 应为 File 或 Folder 对象。

说明
下面的代码说明了 Drive 属性的用法：
function ShowFileAccessInfo(filespec)
{
  var fso, f, s;
  fso = new ActiveXObject("Scripting.FileSystemObject");
  f = fso.GetFile(filespec);
  s = f.Name + " on Drive " + f.Drive + "<br>";
  s += "创建时间： " + f.DateCreated + "<br>";
  s += "最近一次访问时间：" + f.DateLastAccessed + "<br>";
  s += "最近一次修改时间：" + f.DateLastModified;
  return(s);
}


Drive 属性

Drive 属性
应用于 		Scripting 运行时库参考

File 对象
Folder 对象


Drive 属性

Drive 属性
请参阅 		Scripting 运行时库参考

Attributes 属性
DateCreated 属性
DateLastAccessed 属性
DateLastModified 属性
Files 属性
IsRootFolder 属性
Name 属性
ParentFolder 属性
Path 属性
ShortName 属性
ShortPath 属性
Size 属性
SubFolders 属性
Type 属性


Move 方法

Move 方法 		Scripting 运行时库参考
版本 3

请参阅 应用于

描述
将指定文件或文件夹从一个位置移动到另一个位置。
语法
object.Move( destination );

Move 方法的语法包括了以下部分：

部分 | 描述
object | 必选项。 应为 File 或 Folder 对象的名称。
destination | 必选项。 移动文件或文件夹的目的位置。 不允许通配字符。

说明
Move 方法对于单个 File 或 Folder 产生的结果和使用 FileSystemObject.MoveFile 或 FileSystemObject.MoveFolder 所执行的操作结果一样。但是请注意，后两种替换方法都能够移动多个文件或文件夹。


Move 方法

Move 方法
应用于 		Scripting 运行时库参考

File 对象
Folder 对象


Move 方法

Move 方法
请参阅 		Scripting 运行时库参考

Copy 方法
Delete 方法
MoveFile 方法
MoveFolder 方法
OpenAsTextStream 方法


Name 属性

Name 属性 		Scripting 运行时库参考
版本 3

请参阅 应用于

描述
设置或返回指定文件或文件夹的名称。 读/写。
语法
object.Name [= newname]

Name 属性包括了以下部分：

部分 | 描述
object | 必选项。 应为 File 或 Folder 对象的名称。
newname | 可选项。 如果提供了这个部分， newname 将成为指定的 object 的新名称。

说明
下面的代码说明了 Name 属性的用法：
function ShowFileAccessInfo(filespec)
{
    var fso, f, s;
    fso = new ActiveXObject("Scripting.FileSystemObject");
    f = fso.GetFile(filespec);
    s = f.Name + " on Drive " + f.Drive + "<br>";
    s += "创建时间：" + f.DateCreated + "<br>";
    s += "最近一次访问时间： " + f.DateLastAccessed + "<br>";
    s += "最近一次修改时间：" + f.DateLastModified;
    return(s);
}


Name 属性

Name 属性
应用于 		Scripting 运行时库参考

File 对象
Folder 对象


Name 属性

Name 属性
请参阅 		Scripting 运行时库参考

Attributes 属性
DateCreated 属性
DateLastAccessed 属性
DateLastModified 属性
Drive 属性
Files 属性
IsRootFolder 属性
ParentFolder 属性
Path 属性
ShortName 属性
ShortPath 属性
Size 属性
SubFolders 属性
Type 属性


OpenAsTextStream 方法

OpenAsTextStream 方法 		Scripting 运行时库参考
版本 3

请参阅 应用于

描述
打开指定的文件并返回一个 TextStream 对象，可以通过这个对象对文件进行读、写或追加。
语法
object.OpenAsTextStream([iomode, [format]])

OpenAsTextStream 方法的语法包括了以下部分：

部分 | 描述
object | 必选项。 应为 File 对象的名称。
iomode | 可选项。 指明输入/输出的模式。 可以是三个常数之一： ForReading 、 ForWriting 或 ForAppending 。
format | 可选项。 使用三态值中的一个来指明打开文件的格式。 如果忽略，文件将以 ASCII 格式打开。

设置
iomode 参数可以是下列设置中的任一种：

常数 | 值 | 描述
ForReading | 1 | 以只读方式打开文件。 不能写这个文件。
ForWriting | 2 | 以写方式打开文件。 如果存在同名的文件，那么它以前的内容将被覆盖。
ForAppending | 8 | 打开文件并从文件末尾开始写。

format 参数可以是下列设置中的任一种：

常数 | 值 | 描述
TristateUseDefault | -2 | 使用系统默认值打开文件。
TristateTrue | -1 | 以 Unicode 方式打开文件。
TristateFalse | 0 | 以 ASCII 方式打开文件。

说明
OpenAsTextStream 方法提供的功能和 FileSystemObject 的 OpenTextFile 方法一样。 另外， OpenAsTextStream 方法可以用来写文件。

下面的代码说明了 OpenAsTextStream 方法的用法：

function TextStreamTest( )
{
    var fso, f, ts, s;
    var ForReading = 1, ForWriting = 2, ForAppending = 8;
    var TristateUseDefault = -2, TristateTrue = -1, TristateFalse = 0;
    fso = new ActiveXObject("Scripting.FileSystemObject");
    fso.CreateTextFile( "test1.txt" );           // 创建文件。
    f = fso.GetFile("test1.txt");
    ts = f.OpenAsTextStream(ForWriting, TristateUseDefault);
    ts.Write( "Hello World" );
    ts.Close( );
    ts = f.OpenAsTextStream(ForReading, TristateUseDefault);
    s = ts.ReadLine( );
    ts.Close( );
    return(s);
}


OpenAsTextStream 方法

OpenAsTextStream 方法
应用于 		Scripting 运行时库参考

File 对象


OpenAsTextStream 方法

OpenAsTextStream 方法
请参阅 		Scripting 运行时库参考

Copy 方法
CreateTextFile 方法
Delete 方法
Move 方法
OpenTextFile 方法


OpenTextFile 方法

OpenTextFile 方法 		Scripting 运行时库参考
版本 2

请参阅 应用于

描述
打开指定的文件并返回一个 TextStream 对象，可以通过这个对象对文件进行读、写或追加。
语法
object.OpenTextFile(filename[, iomode[, create[, format]]])

OpenTextFile 方法包括了以下部分：

部分 | 描述
object | 必选项。 object 应为 FileSystemObject 的名称。
filename | 必选项。 指明要打开文件的字符串表达式。
iomode | 可选项。 可以是三个常数之一： ForReading 、 ForWriting 或 ForAppending 。
create | 可选项。 Boolean 值，指明当指定的 filename 不存在时是否创建新文件。 如果创建新文件则值为 True ，如果不创建则为 False 。 如果忽略，则不创建新文件。
format | 可选项。 使用三态值中的一个来指明打开文件的格式。 如果忽略，那么文件将以 ASCII 格式打开。

设置
iomode 参数可以是下列设置中的任一种：

常数 | 值 | 描述
ForReading | 1 | 以只读方式打开文件。 不能写这个文件。
ForWriting | 2 | 以写方式打开文件
ForAppending | 8 | 打开文件并从文件末尾开始写。

format 参数可以是下列设置中的任一种：

值 | 描述
TristateTrue | 以 Unicode 格式打开文件。
TristateFalse | 以 ASCII 格式打开文件。
TristateUseDefault | 使用系统默认值打开文件。

说明
下面的代码说明了如何使用 OpenTextFile 方法打开文件并追加文本：
var fs, a, ForAppending;
ForAppending = 8;
fs = new ActiveXObject("Scripting.FileSystemObject");
a = fs.OpenTextFile("c:\\testfile.txt", ForAppending, false);
...
a.Close();


OpenTextFile 方法

OpenTextFile 方法
应用于 		Scripting 运行时库参考

FileSystemObject 对象


OpenTextFile 方法

OpenTextFile 方法
请参阅 		Scripting 运行时库参考

CreateTextFile 方法
OpenAsTextStream 方法


ParentFolder 属性

ParentFolder 属性 		Scripting 运行时库参考
版本 3

请参阅 应用于

描述
返回指定文件或文件夹的父文件夹对象。 只读。
语法
object.ParentFolder

object 应为 File 或 Folder 对象。

说明
下面的代码通过一个文件说明了 ParentFolder 属性的用法：
function ShowFileAccessInfo(filespec)
{
    var fso, f, s;
    fso = new ActiveXObject("Scripting.FileSystemObject");
    f = fso.GetFile(filespec);
    s = f.Name + " in " + f.ParentFolder + "<br>";
    s += "创建： " + f.DateCreated + "<br>";
    s += "最近一次访问时间： " + f.DateLastAccessed + "<br>";
    s += "最近一次修改时间： " + f.DateLastModified;
    return(s);
}


ParentFolder 属性

ParentFolder 属性
应用于 		Scripting 运行时库参考

File 对象
Folder 对象


ParentFolder 属性

ParentFolder 属性
请参阅 		Scripting 运行时库参考

Attributes 属性
DateCreated 属性
DateLastAccessed 属性
DateLastModified 属性
Drive 属性
Files 属性
IsRootFolder 属性
Name 属性
Path 属性
ShortName 属性
ShortPath 属性
Size 属性
SubFolders 属性
Type 属性


ShortName 属性

ShortName 属性 		Scripting 运行时库参考
版本 3

请参阅 应用于

描述
返回短名称，这些短名称由需要以前的 8.3 命名规范的程序使用。
语法
object.ShortName

object 应为 File 或 Folder 对象。

说明
下面的代码通过一个 File 对象说明了 ShortName 属性的用法：
function ShowShortName(filespec)
{
    var fso, f, s;
    fso = new ActiveXObject("Scripting.FileSystemObject");
    f = fso.GetFile(filespec);
    s = "The short name for " + "" + f.Name;
    s += "" + "<br>";
    s += "is: " + "" + f.ShortName + "";
    return(s);
}


ShortName 属性

ShortName 属性
应用于 		Scripting 运行时库参考

File 对象
Folder 对象


ShortName 属性

ShortName 属性
请参阅 		Scripting 运行时库参考

Attributes 属性
DateCreated 属性
DateLastAccessed 属性
DateLastModified 属性
Drive 属性
Files 属性
IsRootFolder 属性
Name 属性
ParentFolder 属性
Path 属性
ShortPath 属性
Size 属性
SubFolders 属性
Type 属性


ShortPath 属性

ShortPath 属性 		Scripting 运行时库参考
版本 3

请参阅 应用于

描述
返回短路径名，这些短文件名由需要以前的 8.3 文件命名规范的程序使用。
语法
object.ShortPath

object 应为 File 或 Folder 对象。

说明
下面的代码通过一个 File 对象说明了 ShortName 属性的用法：
function ShowShortPath(filespec)
{
    var fso, f, s;
    fso = new ActiveXObject("Scripting.FileSystemObject");
    f = fso.GetFile(filespec);
    s = "The short path for " + "" + f.Name;
    s += "" + "<br>";
    s += "is: " + "" + f.ShortPath + "";
    return(s);
}


ShortPath 属性

ShortPath 属性
应用于 		Scripting 运行时库参考

File 对象
Folder 对象


ShortPath 属性

ShortPath 属性
请参阅 		Scripting 运行时库参考

Attributes 属性
DateCreated 属性
DateLastAccessed 属性
DateLastModified 属性
Drive 属性
Files 属性
IsRootFolder 属性
Name 属性
ParentFolder 属性
Path 属性
ShortName 属性
Size 属性
SubFolders 属性
Type 属性


Size 属性

Size 属性 		Scripting 运行时库参考
版本 3

请参阅 应用于

描述
对于文件，以字节为单位返回指定文件的大小。 对于文件夹，以字节为单位返回文件夹中包含的所有文件和子文件夹的大小。
语法
object.Size

object 应为 File 或 Folder 对象。

说明
下面的代码通过一个 Folder 对象说明了 Size 属性的用法：
function ShowFolderSize(filespec)
{
    var fso, f, s;
    fso = new ActiveXObject("Scripting.FileSystemObject");
    f = fso.GetFolder(filespec);
    s = f.Name + " uses " + f.size + " bytes.";
    return(s);
}


Size 属性

Size 属性
应用于 		Scripting 运行时库参考

File 对象
Folder 对象


Size 属性

Size 属性
请参阅 		Scripting 运行时库参考

Attributes 属性
DateCreated 属性
DateLastAccessed 属性
DateLastModified 属性
Drive 属性
Files 属性
IsRootFolder 属性
Name 属性
ParentFolder 属性
Path 属性
ShortName 属性
ShortPath 属性
SubFolders 属性
Type 属性


BuildPath 方法

BuildPath 方法 		Scripting 运行时库参考
版本 3

请参阅 应用于

描述
在已存在路径后追加名称。
语法
object.BuildPath(path, name)

BuildPath 方法的语法包括了以下部分：

部分 | 描述
object | 必选项。 应为 FileSystemObject 的名称。
path | 必选项。 将被追加 name 的并存在的路径。 路径可以是绝对的或相对的，同时不需要指定已有文件夹。
name | 必选项。 被追加到已存在的 path 后的名称。

说明
如果需要，BuildPath 方法会在已有路径和名称之间另外再插入一个路径分隔符。

下面的例子说明了 BuildPath 方法的用法：

function GetBuildPath(path)
{
  var fso, newpath;
  fso = new ActiveXObject("Scripting.FileSystemObject");
  newpath = fso.BuildPath(path, "New  Folder");
  return(newpath);
}


BuildPath 方法

BuildPath 方法
应用于 		Scripting 运行时库参考

FileSystemObject 对象


BuildPath 方法

BuildPath 方法
请参阅 		Scripting 运行时库参考

GetAbsolutePathName 方法
GetBaseName 方法
GetDriveName 方法
GetExtensionName 方法
GetFileName 方法
GetParentFolderName 方法
GetTempName 方法


CopyFile 方法

CopyFile 方法 		Scripting 运行时库参考
版本 3

请参阅 应用于

描述
从一个位置向另一个位置复制一个或多个文件。
语法
object.CopyFile ( source, destination[, overwrite] )

CopyFile 方法的语法包括了以下部分：

部分 | 描述
object | 必选项。 object 应为 FileSystemObject的名称。
source | 必选项。 指定文件字符串，可以包含通配字符来复制一个或多个文件。
destination | 必选项。 目的字符串，文件将从 source 复制到这里。 不允许通配字符。
overwrite | 可选项。 Boolean 值，指明是否覆盖已有文件。 如果为 true ，则文件将被覆盖；如果为 false ，则文件不会被覆盖。 默认的是 true 。 注意，如果 destination 设置了只读属性，那么无论 overwrite 的值是什么， CopyFile 都会失败。

说明
通配字符只能用在 source 参数中最后的路径成分中。 举例来说，可以使用：
fso = new ActiveXObject("Scripting.FileSystemObject");
fso.CopyFile ("c:\\mydocuments\\letters\\*.doc", "c:\\tempfolder\\")
但不能使用：
fso = new ActiveXObject("Scripting.FileSystemObject");
fso.CopyFile ("c:\\mydocuments\\*\\R1???97.xls", "c:\\tempfolder")
如果 source 包含了通配字符或者 destination 以路径分隔符 (\) 结束，那么将假定 destination 是一个已有的文件夹，满足匹配的文件将复制到这个文件夹中。 否则，将假定 destination 是要创建的文件名。 无论哪种情况，如果复制的是单个文件，将会有三种可能。
  • 如果 destination 不存在，那么 source 将被复制。 这是通常情况。
  • 如果 destination 是已有文件，当 overwrite 为 false 时将会产生一个错误。 否则将会试图用 source 覆盖已有文件。
  • 如果 destination 是目录，将会出错。
如果使用通配字符的 source 不能匹配任何文件，将会出错。 CopyFile 方法遇到第一个错误时终止。 出错后不会试图回滚或撤消出错前所做的修改。


CopyFile 方法

CopyFile 方法
应用于 		Scripting 运行时库参考

FileSystemObject 对象


CopyFile 方法

CopyFile 方法
请参阅 		Scripting 运行时库参考

Copy 方法
CopyFolder 方法
CreateTextFile 方法
DeleteFile 方法
MoveFile 方法


CopyFolder 方法

CopyFolder 方法 		Scripting 运行时库参考
版本 3

请参阅 应用于

描述
将文件夹连同子文件夹从一个位置复制到另一个位置。
语法
object.CopyFolder ( source, destination[, overwrite] );

CopyFolder 方法的语法包括了以下部分：

部分 | 描述
object | 必选项。 应为 FileSystemObject 的名称。
source | 必选项。 指定文件夹字符串，可以包含通配字符来复制一个或多个文件夹，
destination | 必选项。 目的位置字符串， 文件夹和子文件夹将从 source 复制到这里。 不允许通配字符。
overwrite | 可选项。 Boolean 值，指明是否覆盖已有文件夹。 如果为 true ，则文件将被覆盖；如果为 false ，则文件不会被覆盖。 默认的是 true 。

说明
通配字符只能用在 source 参数中最后的路径成分中。 举例来说，可以使用：
fso = new ActiveXObject("Scripting.FileSystemObject");
fso.CopyFolder ("c:\\mydocuments\\letters\\*", "c:\\tempfolder\\")
但不能使用：
fso = new ActiveXObject("Scripting.FileSystemObject");
fso.CopyFolder ("c:\\mydocuments\\*\\*", "c:\\tempfolder\\")
如果 source 包含了通配字符或者 destination 以路径分隔符 (\) 结束，那么将假定 destination 是一个已有的文件夹，满足匹配的文件夹和子文件夹将复制到这个文件夹中。 否则，将假定 destination 是要创建的文件夹名。 无论哪种情况，如果复制的是单个文件夹，将会有四种可能。
  • 如果 destination 不存在，将会复制 source 文件夹及其所有子文件夹。 这是通常情况。
  • 如果 destination 是已有的文件夹，将产生一个错误。
  • 如果 destination 是一个目录，那么将试图复制文件夹及其所有内容。 如果 source 中包含的一个文件在 destination 已经有了，那么当 overwrite 为 false 时将会出错。 否则会试图用该文件覆盖已有文件。
  • 如果 destination 是一个只读目录，同时 overwrite 为 false ，那么在试图将已有的只读文件复制到目录中时将会出错。
如果使用了通配字符的 source 不能匹配任何文件夹，那么将产生错误。

CopyFolder 方法在遇到第一个错误时终止。 出错后不试图回滚出错前所做的修改。


CopyFolder 方法

CopyFolder 方法
应用于 		Scripting 运行时库参考

FileSystemObject 对象


CopyFolder 方法

CopyFolder 方法
请参阅 		Scripting 运行时库参考

CopyFile 方法
Copy 方法
CreateFolder 方法
DeleteFolder 方法
MoveFolder 方法


CreateFolder 方法

CreateFolder 方法 		Scripting 运行时库参考
版本 3

请参阅 应用于

描述
创建文件夹。
语法
object.CreateFolder(foldername)

CreateFolder 方法包括了以下部分：

部分 | 描述
object | 必选项。 应为 FileSystemObject 的名称。
foldername | 必选项。 字符串表达式，标识所要创建的文件夹。

说明
如果指定的文件夹已经存在则出错。

下面的代码说明了如何使用 CreateFolder 方法来创建一个文件夹：

var fso = new ActiveXObject("Scripting.FileSystemObject");
var a = fso.CreateFolder("c:\\new folder");


CreateFolder 方法

CreateFolder 方法
应用于 		Scripting 运行时库参考

FileSystemObject 对象


CreateFolder 方法

CreateFolder 方法
请参阅 		Scripting 运行时库参考

CopyFolder 方法
DeleteFolder 方法
MoveFolder 方法


DeleteFile 方法

DeleteFile 方法 		Scripting 运行时库参考
版本 3

请参阅 应用于

描述
删除指定文件。
语法
object.DeleteFile ( filespec[, force] );

DeleteFile 方法的语法包括了以下部分：

部分 | 描述
object | 必选项。 应为 FileSystemObject 的名称。
filespec | 必选项。 要删除的文件的名称。 filespec 可以在最后的路径成分中包含通配字符。
force | 可选项。 Boolean 值，如果要删除设置了只读属性的文件，则为 true ；如果不删除则为 false （默认）。

说明
如果找不到匹配的文件则出错。 DeleteFile 方法在遇到第一个错误时终止。 出错后不试图回滚或撤消出错前做的修改。

下面的例子说明了 DeleteFile 方法的用法：

function DeleteFile(filespec)
{
  var fso;
  fso = new ActiveXObject("Scripting.FileSystemObject");
  fso.DeleteFile(filespec);
}


DeleteFile 方法

DeleteFile 方法
应用于 		Scripting 运行时库参考

FileSystemObject 对象


DeleteFile 方法

DeleteFile 方法
请参阅 		Scripting 运行时库参考

CopyFile 方法
CreateTextFile 方法
Delete 方法
DeleteFolder 方法
MoveFile 方法


DeleteFolder 方法

DeleteFolder 方法 		Scripting 运行时库参考
版本 3

请参阅 应用于

描述
删除指定的文件夹及其内容。
语法
object.DeleteFolder ( folderspec[, force] );

DeleteFolder 方法的语法包括了以下部分：

部分 | 描述
object | 必选项。 应为 FileSystemObject 的名称。
folderspec | 必选项。 要删除的文件夹的名称。 folderspec 可以在最后的路径成分中包含通配字符。
force | 可选项。 Boolean 值，如果要删除设置了只读属性的文件夹，则为 true ；否则为 false （默认）。

说明
DeleteFolder 方法不区分文件夹是否包含了内容。 删除指定的文件夹时不考虑其中是否有内容。

如果找不到匹配的文件夹则出错。 DeleteFolder 方法在遇到第一个错误时终止。 出错后不试图回滚或撤消出错前做的修改。

下面的例子说明了 DeleteFolder 方法的用法:

function DeleteFolder(folderspec)
{
  var fso;
  fso = new ActiveXObject("Scripting.FileSystemObject");
  fso.DeleteFolder(folderspec);
}


DeleteFolder 方法

DeleteFolder 方法
应用于 		Scripting0nbsp;运行时库参考

FileSystemObject 对象


DeleteFolder 方法

DeleteFolder 方法
请参阅 		Scripting 运行时库参考

CopyFolder 方法
CreateFolder 方法
Delete 方法
DeleteFile 方法
MoveFolder 方法


DriveExists 方法

DriveExists 方法 		Scripting 运行时库参考
版本 3

请参阅 应用于

描述
如果指定的驱动器存在则返回 True ；如果不存在则返回 False 。
语法
object.DriveExists(drivespec)

DriveExists 方法的语法包括了以下部分：

部分 | 描述
object | 必选项。 应为 FileSystemObject 的名称。
drivespec | 必选项。 驱动器号或完整的路径说明。

说明
对于可移动媒体的驱动器， 即使没有媒体 DriveExists 方法也返回 true 。 可以使用 Drive 对象的 IsReady 属性来决定驱动器是否就绪。

下面的例子说明了 DriveExists 方法的用法：

function ReportDriveStatus(drv)
{
  var fso, s = "";
  fso = new ActiveXObject("Scripting.FileSystemObject");
  if (fso.DriveExists(drv))
    s += "Drive " + drv + " exists.";
  else
    s += "Drive " + drv + " doesn't exist.";
  return(s);
}


DriveExists 方法

DriveExists 方法
应用于 		Scripting 运行时库参考

FileSystemObject 对象


DriveExists 方法

DriveExists 方法
请参阅 		Scripting 运行时 参考

Drive Object
Drives Collection
FileExists 方法
FolderExists 方法
GetDrive 方法
GetDriveName 方法
IsReady 属性


Drives 属性

Drives 属性 		Scripting 运行时库参考
版本 3

请参阅 应用于

描述
返回一个 Drives 集合，包含了本地机器上所有可用的 Drive 对象。
语法
object.Drives

object 应为 FileSystemObject 。

说明
可移动媒体的驱动器不需要插入媒体就可以出现在 Drives 集合中。

可以通过 Enumerator 对象和 for 语句来逐个引用 Drives 集合中的成员：

function ShowDriveList()
{
  var fso, s, n, e, x;
  fso = new ActiveXObject("Scripting.FileSystemObject");
  e = new Enumerator(fso.Drives);
  s = "";
  for (; !e.atEnd(); e.moveNext())
  {
    x = e.item();
    s = s + x.DriveLetter;
    s += " - ";
    if (x.DriveType == 3)
      n = x.ShareName;
    else if (x.IsReady)
      n = x.VolumeName;
    else
      n = "[驱动器未就绪]";
    s +=  n + "<br>";
  }
  return(s);
}


Drives 属性

Drives 属性
应用于 		Scripting 运行时库参考

FileSystemObject 对象


Drives 属性

Drives 属性
请参阅 		Scripting 运行时库参考

Drives 集合
Files 属性
SubFolders 属性


FileExists 方法

FileExists 方法 		Scripting 运行时库参考
版本 3

请参阅 应用于

描述
如果指定文件存在返回 True ;否则返回 False 。
语法
object.FileExists(filespec)

FileExists 方法的语法包括了以下部分:

部分 | 描述
object | 必选项。 应为 FileSystemObject 的名称。
filespec | 必选项。 需要判定是否存在的文件的名称. 如果文件可能不在当前文件夹中,那么必须提供完整的路径说明（可以是绝对的或相对的）。

下面的例子说明了 FileExists 方法的用法：

function ReportFileStatus(filespec)
{
  var fso, s = filespec;
  fso = new ActiveXObject("Scripting.FileSystemObject");
  if (fso.FileExists(filespec))
    s += " exists.";
  else
    s += " doesn't exist.";
  return(s);
}


FileExists 方法

FileExists 方法
应用于 		Scripting 运行时库参考

FileSystemObject 对象


FileExists 方法

FileExists 方法
请参阅 		Scripting 运行时库参考

DriveExists 方法
FolderExists 方法
GetFile 方法
GetFileName 方法


FolderExists 方法

FolderExists 方法 		Scripting 运行时库参考
版本 3

请参阅 应用于

描述
如果指定的文件夹存在则返回 True ；否则返回 False 。
语法
object.FolderExists(folderspec)

FolderExists 方法的语法包括了以下部分：

部分 | 描述
object | 必选项。 应为 FileSystemObject 的名称。
folderspec | 必选项。 需要判定是否存在的文件夹的名称。 如果文件夹可能不在当前文件夹中，那么必须提供完整的路径说明（可以是绝对的或相对的）。

下面的例子说明了 FileExists 方法的用法：

function ReportFolderStatus(fldr)
{
  var fso, s = fldr;
  fso = new ActiveXObject("Scripting.FileSystemObject");
  if (fso.FolderExists(fldr))
    s += " exists.";
  else
    s += " doesn't exist.";
  return(s);
}


FolderExists 方法

FolderExists 方法
应用于 		Scripting 运行时库参考

FileSystemObject 对象


FolderExists 方法

FolderExists 方法
请参阅 		Scripting 运行时库参考

DriveExists 方法
FileExists 方法
GetFolder 方法
GetParentFolderName 方法


GetAbsolutePathName 方法

GetAbsolutePathName 方法 		Scripting 运行时库参考
版本 3

请参阅 应用于

描述
根据提供的路径说明返回明确完整的路径。
语法
object.GetAbsolutePathName(pathspec)

GetAbsolutePathName 方法的语法包括了以下部分：

部分 | 描述
object | 必需 应为 FileSystemObject 的名称。
pathspec | 必选项。 要变为明确完整路径的路径说明

说明
如果路径提供了从指定驱动器的根开始的完整的引用，那么它就是明确和完整的。 如果路径指定的是映射驱动器的根文件夹，那么完整的路径将只能由一个路径分隔符 (\) 结束。

假设当前目录是 c:\mydocuments\reports ，下表说明了 GetAbsolutePathName 方法的操作。

pathspec | 返回的路径
"c:" | "c:\mydocuments\reports"
"c:.." | "c:\mydocuments"
"c:\\" | "c:\"
"c:*.*\\may97" | "c:\mydocuments\reports\*.*\may97"
"region1" | "c:\mydocuments\reports\region1"
"c:\\..\\..\\mydocuments" | "c:\mydocuments"

下面的例子说明了 GetAbsolutePathName 方法的用法：

function ShowAbsolutePath(path)
{
  var fso, s= "";
  fso = new ActiveXObject("Scripting.FileSystemObject");
  s += fso.GetAbsolutePathName(path);
  return(s);
}


GetAbsolutePathName 方法

GetAbsolutePathName 方法
应用于 		Scripting 运行时库参考

FileSystemObject 对象


GetAbsolutePathName 方法

GetAbsolutePathName 方法
请参阅 		Scripting 运行时库参考

GetBaseName 方法
GetDrive 方法
GetDriveName 方法
GetExtensionName 方法
GetFile 方法
GetFileName 方法
GetFlieVersion 方法
GetFolder 方法
GetParentFolderName 方法
GetSpecialFolder 方法
GetTempName 方法


GetBaseName 方法

GetBaseName 方法 		Scripting 运行时库参考
版本 3

请参阅 应用于

描述
返回字符串，该字符串包含路径中最后成分中的基本名称，不包含文件扩展名。
语法
object.GetBaseName(path)

GetBaseName 方法的语法包括了以下部分：

部分 | 描述
object | 必选项。 应为 FileSystemObject 的名称。
path | 必选项。 为将返回其最后成分中的基本名称指定路径。

说明
如果没有成分和 path 参数匹配，那么 GetBaseName 方法将返回长度为零的字符串 ("") 。
注意 GetBaseName 方法只作用于所提供的 path 字符串。 它不试图解析路径，也不检查指定路径是否存在。

下面的例子说明了 GetBaseName 方法的用法：

function ShowBaseName(filespec)
{
  var fso, s = "";
  fso = new ActiveXObject("Scripting.FileSystemObject");
  s += fso.GetBaseName(filespec);
  return(s);
}


GetBaseName 方法

GetBaseName 方法
应用于 		Scripting 运行时库参考

FileSystemObject 对象


GetBaseName 方法

GetBaseName 方法
请参阅 		Scripting 运行时库参考

GetAbsolutePathName 方法
GetDrive 方法
GetDriveName 方法
GetExtensionName 方法
GetFile 方法
GetFileName 方法
GetFileVersion 方法
GetFolder 方法
GetParentFolderName 方法
GetSpecialFolder 方法
GetTempName 方法


GetDrive 方法

GetDrive 方法 		Scripting 运行时库参考
版本 3

请参阅 应用于

描述
返回相应于指定路径中驱动器的 Drive 对象。
语法
object.GetDrive ( drivespec );

GetDrive 方法的语法包括了以下部分：

部分 | 描述
object | 必选项。 应为 FileSystemObject 的名称。
drivespec | 必选项。 drivespec 参数可以是驱动器号 (c) 、带冒号的驱动器号 (c:) 、带冒号和路径分隔符的驱动器号 (c:\) ，或者任意网络共享的说明 (\\computer2\share1) 。

说明
对于网络共享，需要进行检查以确保共享存在。

如果 drivespec 和可接受的形式不一致或是不存在，那么将产生错误。

要在普通的路径字符串上调用 GetDrive 方法，可以使用以下序列来获取适于作为 drivespec 的字符串。

DriveSpec = GetDriveName(GetAbsolutePathName(Path))
下面的例子说明了 GetDrive 方法的用法：
function ShowFreeSpace(drvPath)
{
  var fso, d, s ="";
  fso = new ActiveXObject("Scripting.FileSystemObject");
  d = fso.GetDrive(fso.GetDriveName(drvPath));
  s = "Drive " + drvPath.toUpperCase( ) + " - ";
  s += d.VolumeName + "<br>";
  s += "Free Space: " + d.FreeSpace/1024 + " Kbytes";
  return(s);
}


GetDrive 方法

GetDrive 方法
应用于 		Scripting 运行时库参考

FileSystemObject 对象


GetDrive 方法

GetDrive 方法
请参阅 		Scripting 运行时库参考

GetAbsolutePathName 方法
GetBaseName 方法
GetDriveName 方法
GetExtensionName 方法
GetFile 方法
GetFileName 方法
GetFileVersion 方法
GetFolder 方法
GetParentFolderName 方法
GetSpecialFolder 方法
GetTempName 方法


GetDriveName 方法

GetDriveName 方法 		Scripting 运行时库参考
版本 3

请参阅 应用于

描述
根据指定路径返回包含驱动器名称的字符串。
语法
object.GetDriveName(path)

GetDriveName 方法的语法包括了以下部分：

部分 | 描述
object | 必选项。 应为 FileSystemObject 的名称。
path | 必选项。 路径说明，将根据其中成分返回驱动器名称。

说明
如果无法确定驱动器，GetDriveName 方法将返回长度为零的字符串 ("") 。
注意 GetDriveName 只作用于所提供的 path 字符串。 不会试图解析路径，也不会检查指定的路径是否存在。

下面的例子说明了 GetDriveName 方法的用法：

function GetDriveLetter(path)
{
  var fso, s ="";
  fso = new ActiveXObject("Scripting.FileSystemObject");
  s += fso.GetDrive(fso.GetDriveName(fso.GetAbsolutePathName(path)));
  return(s);
}


GetDriveName 方法

GetDriveName 方法
应用于 		Scripting 运行时库参考

FileSystemObject 对象


GetDriveName 方法

GetDriveName 方法
请参阅 		Scripting 运行时库参考

GetAbsolutePathName 方法
GetBaseName 方法
GetDrive 方法
GetExtensionName 方法
GetFile 方法
GetFileName 方法
GetFileVersion 方法
GetFolder 方法
GetParentFolderName 方法
GetSpecialFolder 方法
GetTempName 方法


GetExtensionName 方法

GetExtensionName 方法 		Scripting 运行时库参考
版本 3

请参阅 应用于

描述
返回包含路径中最后成分扩展名的字符串。
语法
object.GetExtensionName(path)

GetExtensionName 方法的语法包括了以下部分：

部分 | 描述
object | 必选项。 应为 FileSystemObject 的名称。
path | 必选项。 路径说明，将根据其中的成分返回其扩展名。

说明
对于网络驱动器，根目录 (\) 将被认为是一个成分。

如果没有和 path 参数匹配的成分，那么 GetExtensionName 方法将返回长度为零的字符串 ("") 。

下面的例子说明了 GetExtensionName 方法的用法：

function ShowExtensionName(filespec)
{
  var fso, s = "";
  fso = new ActiveXObject("Scripting.FileSystemObject");
  s += fso.GetExtensionName(filespec);
  return(s);
}


GetExtensionName 方法

GetExtensionName 方法
应用于 		Scripting 运行时库参考

FileSystemObject 对象


GetExtensionName 方法

GetExtensionName 方法
请参阅 		Scripting 运行时库参考

GetAbsolutePathName 方法
GetBaseName 方法
GetDrive 方法
GetDriveName 方法
GetFile 方法
GetFileName 方法
GetFileVersion 方法
GetFolder 方法
GetParentFolderName 方法
GetSpecialFolder 方法
GetTempName 方法


GetFile 方法

GetFile 方法 		Scripting 运行时库参考
版本 3

请参阅 应用于

描述
根据指定的路径中的文件返回相应的 File 对象。
语法
object.GetFile(filespec)

GetFile 方法的语法包括了以下部分：

部分 | 描述
object | 必选项。 应为 FileSystemObject 的名称。
filespec | 必选项。 filespec 是指定文件的路径（绝对和或相对的）。

说明
如果指定文件不存在则出错。

下面的例子说明了 GetFile 方法的用法：

function ShowFileAccessInfo(filespec)
{
  var fso, f, s;
  fso = new ActiveXObject("Scripting.FileSystemObject");
  f = fso.GetFile(filespec);
  s = f.Path.toUpperCase() + "<br>";
  s += "创建时间：" + f.DateCreated + "<br>";
  s += "最近一次访问时间： " + f.DateLastAccessed + "<br>";
  s += "最近一次修改时间：" + f.DateLastModified
  return(s);
}


GetFile 方法

GetFile 方法
应用于 		Scripting 运行时库参考

FileSystemObject 对象


GetFile 方法

GetFile 方法
请参阅 		Scripting 运行时库参考

GetAbsolutePathName 方法
GetBaseName 方法
GetDrive 方法
GetDriveName 方法
GetExtensionName 方法
GetFileName 方法
GetFileVersion 方法
GetFolder 方法
GetParentFolderName 方法
GetSpecialFolder 方法
GetTempName 方法


GetFileName 方法

GetFileName 方法 		Scripting 运行时库参考
版本 3

请参阅 应用于

描述
返回指定路径的最后成分，但指定的路径不能只是驱动器说明。
语法
object.GetFileName(pathspec)

GetFileName 方法的语法包括了以下部分：

部分 | 描述
object | 必选项。 应为 FileSystemObject 的名称。
pathspec | 必选项。 指定文件的路径（绝对的或相对的）。

说明
如果 pathspec 没有以文件名成分结束，那么 GetFileName 方法将返回长度为零的字符串 ("") 。
注意 GetFileName 方法只作用于所提供的路径字符串。 不会试图解析路径，也不会检查路径存在与否。

下面的例子说明了 GetFileName 方法的用法：

function ShowFileName(filespec)
{
  var fso, s = "";
  fso = new ActiveXObject("Scripting.FileSystemObject");
  s += fso.GetFileName(filespec);
  return(s);
}


GetFileName 方法

GetFileName 方法
应用于 		Scripting 运行时库参考

FileSystemObject 对象


GetFileName 方法

GetFileName 方法
请参阅 		Scripting 运行时库参考

GetAbsolutePathName 方法
GetBaseName 方法
GetDrive 方法
GetDriveName 方法
GetExtensionName 方法
GetFile 方法
GetFileVersion 方法
GetFolder 方法
GetParentFolderName 方法
GetSpecialFolder 方法
GetTempName 方法


GetFileVersion 方法

GetFileVersion 方法 		Scripting 运行库参考
版本 5

请参阅 应用于

描述
返回指定文件的版本号。
语法
Object.GetFileVersion(pathspec)

GetFileVersion 方法的语法包括以下几部分：

部分 | 描述
object | 必选项。总是一个 FileSystemObject 的名字。
pathspec | 必选项。指向特定文件的（绝对或相对）路径。

说明
如果 pathspec 并不以所命名的文件结束，或者文件并不包含版本信息，GetFileVersion 方法将返回长度为0的字符串("")。
注意 GetFileVersion 方法只处理所提供的路径字符串。它并不会尝试对路径进行解析，也不会检查指定的路径是否存在。

下面的例子说明了 GetFileVersion 方法的用法：

function ShowFileVersion(pathspec)
{
  var fso, s = "";
  fso = new ActiveXObject("Scripting.FileSystemObject");
  s += fso.GetFileVersion(pathspec);
  if (s == "")
    s = "无可用的版本信息。";
  return(s);
}


GetFileVersion 方法

GetFileVersion 方法
应用于 		Scripting 运行时库参考

FileSystemObject 对象


GetFileVersion 方法

GetFileVersion 方法
请参阅 		Scripting 运行时库参考

GetAbsolutePathName 方法
GetBaseName 方法
GetDrive 方法
GetDriveName 方法
GetExtensionName 方法
GetFile 方法
GetFileName 方法
GetFolder 方法
GetParentFolderName 方法
GetSpecialFolder 方法
GetTempName 方法


GetFolder 方法

GetFolder 方法 		Scripting 运行时库参考
版本 3

请参阅 应用于

描述
根据指定路径中的文件夹返回相应的 Folder 对象。
语法
object.GetFolder(folderspec)

GetFolder 方法的语法包括了以下部分：

部分 | 描述
object | 必选项。 应为 FileSystemObject 的名称。
folderspec | 必选项。 folderspec 是指定文件夹的路径（绝对的或相对的）。

说明
如果指定的文件夹不存在则出错。

下面的例子说明了 GetFolder 方法的用法：

function ShowFolderList(folderspec)
{
  var fso, f, fc, s;
  fso = new ActiveXObject("Scripting.FileSystemObject");
  f = fso.GetFolder(folderspec);
  fc = new Enumerator(f.SubFolders);
  s = "";
  for (; !fc.atEnd(); fc.moveNext())
  {
    s += fc.item();
    s += "<br>";
  }
  return(s);
}


GetFolder 方法

GetFolder 方法
应用于 		Scripting 运行时库参考

FileSystemObject 对象


GetFolder 方法

GetFolder 方法
请参阅 		Scripting 运行时库参考

GetAbsolutePathName 方法
GetBaseName 方法
GetDrive 方法
GetDriveName 方法
GetExtensionName 方法
GetFile 方法
GetFileName 方法
GetFileVersion 方法
GetParentFolderName 方法
GetSpecialFolder 方法
GetTempName 方法


GetParentFolderName 方法

GetParentFolderName 方法 		Scripting 运行时库参考
版本 3

请参阅 应用于

描述
根据指定路径中的最后成分返回包含其父文件夹名称的字符串。
语法
object.GetParentFolderName(path)

GetParentFolderName 方法的语法包括了以下部分：

部分 | 描述
object | 必选项。 应为 FileSystemObject 的名称。
path | 必选项。 路径说明，将根据其中成分返回其父文件夹的名称。

说明
如果 path 参数中指定的成分没有父文件夹，那么 GetParentFolderName 方法将返回长度为零的字符串 ("") 。
注意 GetParentFolderName 方法只作用于所提供的 path 字符串。 不会试图解析路径，也不会检查指定的路径存在与否。

下面的例子说明了 GetParentFolderName 方法的用法:

function ShowParentFolderName(filespec)
{
 var fso, s = "";
 fso = new ActiveXObject("Scripting.FileSystemObject");
 s += fso.GetParentFolderName(filespec);
 return(s);
}


GetParentFolderName 方法

GetParentFolderName 方法
应用于 		Scripting 运行时库参考

FileSystemObject 对象


GetParentFolderName 方法

GetParentFolderName 方法
请参阅 		Scripting 运行时库参考

GetAbsolutePathName 方法
GetBaseName 方法
GetDrive 方法
GetDriveName 方法
GetExtensionName 方法
GetFile 方法
GetFileName 方法
GetFileVersion 方法
GetFolder 方法
GetSpecialFolder 方法
GetTempName 方法


GetSpecialFolder 方法

GetSpecialFolder 方法 		Scripting 运行时库参考
版本 3

请参阅 应用于

描述
返回指定的特殊文件夹对象。
语法
object.GetSpecialFolder(folderspec)

GetSpecialFolder 方法的语法包括了以下部分：

部分 | 描述
object | 必选项。 应为 FileSystemObject 的名称。
folderspec | 必选项。 要返回的特殊文件夹的名称。 可以为下面设置中显示的任意常数。

设置
folderspec 参数可以取以下的任意值：

常数 | 值 | 描述
WindowsFolder | 0 | Windows 文件夹，包含了由 Windows 操作系统安装的文件。
SystemFolder | 1 | 包含库、字体，以及设备驱动程序的 System 文件夹
TemporaryFolder | 2 | 用于存储临时文件的 Temp 文件夹。 这个路径可以在 TMP 环境变量中找到。

下面的例子说明了 GetSpecialFolder 方法的用法：

var fso, tempfile;
fso = new ActiveXObject("Scripting.FileSystemObject");

function CreateTempFile()
{
  var tfolder, tfile, tname, fname, TemporaryFolder = 2;
  tfolder = fso.GetSpecialFolder(TemporaryFolder);
  tname = fso.GetTempName();
  tfile = tfolder.CreateTextFile(tname);
  return(tfile);
}
tempfile = CreateTempFile();
tempfile.writeline("Hello World");
tempfile.close();


GetSpecialFolder 方法

GetSpecialFolder 方法
应用于 		Scripting 运行时库参考

FileSystemObject 对象


GetSpecialFolder 方法

GetSpecialFolder 方法
请参阅 		Scripting 运行时库参考

GetAbsolutePathName 方法
GetBaseName 方法
GetDrive 方法
GetDriveName 方法
GetExtensionName 方法
GetFile 方法
GetFileName 方法
GetFileVersion 方法
GetFolder 方法
GetParentFolderName 方法
GetTempName 方法


GetTempName 方法

GetTempName 方法 		Scripting 运行时库参考
版本 3

请参阅 应用于

描述
返回一个随机产生的临时文件或文件夹名，有助于执行那些需要临时文件或文件夹的操作。
语法
object.GetTempName ( );

可选的 object 应为 FileSystemObject 的名称。

说明
GetTempName 方法并不创建文件。 它只提供一个临时文件名，可以通过 CreateTextFile 来创建文件。

下面的例子说明了 GetTempName 方法的用法：

var fso, tempfile;
fso = new ActiveXObject("Scripting.FileSystemObject");

function CreateTempFile()
{
  var tfolder, tfile, tname, fname, TemporaryFolder = 2;
  tfolder = fso.GetSpecialFolder(TemporaryFolder);
  tname = fso.GetTempName();
  tfile = tfolder.CreateTextFile(tname);
  return(tfile);
}
tempfile = CreateTempFile();
tempfile.writeline("Hello World");
tempfile.close();


GetTempName 方法

GetTempName 方法
应用于 		Scripting 运行时库参考

FileSystemObject 对象


GetTempName 方法

GetTempName 方法
请参阅 		Scripting 运行时库参考

GetAbsolutePathName 方法
GetBaseName 方法
GetDrive 方法
GetDriveName 方法
GetExtensionName 方法
GetFile 方法
GetFileName 方法
GetFileVersion 方法
GetFolder 方法
GetParentFolderName 方法
GetSpecialFolder 方法


MoveFile 方法

MoveFile 方法 		Scripting 运行时库参考
版本 3

请参阅 应用于

描述
从一个位置向另一个位置移动一个或多个文件。
语法
object.MoveFile ( source, destination );

MoveFile 方法的语法包括了以下部分：

部分 | 描述
object | 必选项。 应为 FileSystemObject 的名称。
source | 必选项。 所要移动的文件的路径。 source 参数的字符串只能在路径的最后成分中包含通配字符。
destination | 必选项。 文件要移到的路径。 destination 参数不能包含通配字符。

说明
如果 source 包含了通配字符，或者 destination 以路径分隔符 (\) 结束，那么将假定 destination 指定了一个已有的文件夹，匹配的文件将移入其中。 否则，将假定 destination 为需要创建的目的文件名。 无论哪种情况，如果移动的是单个文件，将有三种可能：
  • 如果 destination 不存在，那么那么文件将被移动。 这是普通情况。
  • 如果 destination 是已经存在了的文件，那么将出错。
  • 如果 destination 是目录，那么也将出错。
如果 source 中使用的通配字符无法匹配任何文件，那么也将出错。 MoveFile 方法在遇到第一个错误时终止。 出错后不会试图回滚任何出错前所做的修改。
重要 只有在操作系统支持时，才能通过这种方法在卷之间移动文件。

下面的例子说明了 MoveFile 方法的用法：

function MoveFile2Desktop(filespec)
{
  var fso;
  fso = new ActiveXObject("Scripting.FileSystemObject");
  fso.MoveFile(filespec, "c:\\windows\\desktop\\");
}


MoveFile 方法

MoveFile 方法
应用于 		Scripting 运行时库参考

FileSystemObject 对象


MoveFile 方法

MoveFile 方法
请参阅 		Scripting 运行时库参考

CopyFile 方法
DeleteFile 方法
GetFile 方法
GetFileName 方法
Move 方法
MoveFolder 方法
OpenTextFile 方法


MoveFolder 方法

MoveFolder 方法 		Scripting 运行时库参考
版本 3

请参阅 应用于

描述
从一个位置向另一个位置移动一个或多个文件夹。
语法
object.MoveFolder ( source, destination );

MoveFolder 方法的语法包括了以下部分：

部分 | 描述
object | 必选项。 应为 FileSystemObject 的名称。
source | 必选项。 要移动的文件夹的路径。 source 参数的字符串只能在路径的最后成分中包含通配字符。
destination | 必选项。 文件夹要移入的路径。 destination 参数不能包含通配字符。

说明
如果 source 包含了通配字符，或者 destination 以路径分隔符 (\) 结束，那么将假定 destination 指定的是已经存在了的文件夹，匹配的文件将移入其中。 否则将假定 destination 是需要创建的目的文件夹的名称。 无论哪种情况，如果移动的是单个文件夹，将会有三种可能：
  • 如果 destination 不存在，那么文件夹将被移动。 这是普通情况。
  • 如果 destination 是已有的文件，那么将出错。
  • 如果 destination 是目录，那么也将出错。
如果 source 中使用的通配字符无法匹配任何文件夹，那么也将出错。 MoveFolder 方法在遇到第一个错误时终止。 出错后不会试图回滚出错前所做的修改。
重要 只有在操作系统支持时，才能通过这个方法在卷之间移动文件夹。

下面的例子说明了 MoveFolder 方法的用法：

function MoveFldr2Desktop(fldrspec)
{
  var fso;
  fso = new ActiveXObject("Scripting.FileSystemObject");
  fso.MoveFolder(fldrspec, "c:\\windows\\desktop\\");
}


MoveFolder 方法

MoveFolder 方法
应用于 		Scripting 运行时库参考

FileSystemObject 对象


MoveFolder 方法

MoveFolder 方法
请参阅 		Scripting 运行时库参考

CopyFile 方法
DeleteFile 方法
GetFile 方法
GetFileName 方法
Move 方法
MoveFile 方法
OpenTextFile 方法


Type 属性

Type 属性 		Scripting 运行时库参考
版本 3

请参阅 应用于

描述
返回关于文件或文件夹类型的信息。 例如，对于以 .TXT 结尾的文件将返回“文本文档”。
语法
object.Type

object 应为 File 或 Folder 对象。

说明
下面的代码说明了利用 Type 属性返回文件夹属性的方法。 在这个例子中，可以尝试一下向过程提供回收站或其他特殊文件夹的路径。
function ShowFileType(filespec)
{
  var fso, f, s;
  fso = new ActiveXObject("Scripting.FileSystemObject");
  if (fso.FolderExists(filespec))
    f = fso.GetFolder(filespec);
  else if (fso.FileExists(filespec))
    f = fso.GetFile(filespec);
  else
    s = "File or Folder does not exist.";
  s = f.Name + " is a " + f.Type;
  return(s);
}


Type 属性

Type 属性
应用于 		Scripting 运行时库参考

File 对象
Folder 对象


Type 属性

Type 属性
请参阅 		Scripting 运行时库参考

Attributes 属性
DateCreated 属性
DateLastAccessed 属性
DateLastModified 属性
Drive 属性
Files 属性
IsRootFolder 属性
Name 属性
ParentFolder 属性
Path 属性
ShortName 属性
ShortPath 属性
Size 属性
SubFolders 属性


GetObject 函数

GetObject 函数 		语言参考
版本 3

请参阅

描述
从文件中返回对 Automation 对象 的一个引用。
语法
GetObject([pathname] [, class])

GetObject 函数的语法包括了以下部分：

部分 | 描述
pathname | 可选项。 完整的文件路径和名称，文件中包含了要检索的对象。 如果忽略了 pathname ，那么需要 class 。
class | 可选项。 对象的类。

类参数采用的语法是 appname.objectype ，包括了以下部分：

部分 | 描述
appname | 必选项。 提供对象的应用程序名称。
objectype | 必选项。 要创建的对象的类的类型。

说明
使用 GetObject 函数可以从文件中访问一个 Automation 对象。 可以将由 GetObject 返回的对象赋值给对象变量。 例如：
var CADObject;
CADObject = GetObject("C:\\CAD\\SCHEMA.CAD");
在执行这段代码时，将启动与指定的 pathname 相关的应用程序，所指定文件中的对象将被激活。 如果 pathname 是长度为零的字符串 ("") ，那么 GetObject 将返回指定类型的一个新实例。 如果忽略了 pathname 参数，那么 GetObject 将返回指定类型的当前活动实例。 如果不存在指定类型的对象，那么将出错。

一些应用程序允许激活文件的一部分。 可以在文件名的尾部添加一个感叹号 (!) ，然后在感叹号后跟上一个字符串来指定要激活的文件部分。 关于如何创建这个字符串的详细信息，请参阅创建该对象的应用程序的文档。

例如，在一个绘画应用程序中，可能在文件中存储了绘画的很多层次。 可以使用下面的代码激活名为 SCHEMA.CAD 的图画中的一层。

var LayerObject = GetObject("C:\\CAD\\SCHEMA.CAD!Layer3");
如果没有指定对象的类， Automation 将根据所提供的文件名来决定要启动的应用程序和要激活的对象。 但是，一些文件可能支持不止一种对象的类。 例如，一个图画可能支持三种不同的对象类型：应用程序对象、绘画对象，以及工具栏对象，所有这些都是同一个文件中的部分。 要指定文件中希望激活的对象，可以使用可选的 class 参数。 例如：
var MyObject;
MyObject = GetObject("C:\\DRAWINGS\\SAMPLE.DRW", "FIGMENT.DRAWING");
在前面的例子中，FIGMENT 是绘画应用程序的名称，而 DRAWING 是它支持的一种对象类型。 对象被激活后，可以使用定义的对象变量来引用它。 在前面的例子中，可以通过对象变量 MyObject 来访问新对象的属性和方法。 例如：
MyObject.Line(9, 90);
MyObject.InsertText(9, 100, "Hello, world.");
MyObject.SaveAs("C:\\DRAWINGS\\SAMPLE.DRW");
注意 如果当前已经有了对象的实例，或者想要由已经加载了的文件创建对象，那么可以使用 GetObject 函数。 如果没有当前的实例，而且也不想由已经加载的文件来启动对象，那么可以使用 ActiveXObject 对象。

如果对象自身已经注册为单实例对象了，那么无论执行多少次 ActiveXObject 也只会创建对象的一个实例。 对于单实例对象， GetObject 在用长度为零的字符串 ("") 语法调用时总是返回相同的实例，而如果忽略了 pathname 参数就会出错。


GetObject 函数

GetObject 函数
请参阅 		语言参考

ActiveXObject 对象


ScriptEngine 函数

ScriptEngine 函数 		语言参考
版本 2

请参阅

描述
返回一个字符串，代表正在使用的脚本语言。
语法
ScriptEngine( )
返回值
ScriptEngine 函数可以返回下列任意字符串：

字符串 | 描述
JScript | 指明 Microsoft JScript 是当前的 Scripting 引擎。
VBA | 指明 Microsoft Visual Basic(R) for Applications 是当前的 Scripting 引擎。
VBScript | 指明 Microsoft Visual Basic Scripting Edition 是当前的 Scripting 引擎。

说明
下面的代码说明了 ScriptEngine 函数的用法：
function GetScriptEngineInfo()
{
    var s;
    s = ""; // 根据必要的信息创建字符串。
    s += ScriptEngine() + " Version ";
    s += ScriptEngineMajorVersion() + ".";
    s += ScriptEngineMinorVersion() + ".";
    s += ScriptEngineBuildVersion();
    return(s);
}


ScriptEngineBuildVersion 函数

ScriptEngineBuildVersion 函数 		语言参考
版本 2

请参阅

描述
返回所使用的 Scripting 引擎的生成版本号。
语法
ScriptEngineBuildVersion( )
返回值
返回值直接依赖于所使用的 Scripting 语言的动态链接库 (DLL) 中包含的版本信息。
说明
下面的代码说明了 ScriptEngineBuildVersion 函数的用法：
function GetScriptEngineInfo()
{
    var s;
    s = ""; // 根据必要的信息创建字符串。
    s += ScriptEngine() + " Version ";
    s += ScriptEngineMajorVersion() + ".";
    s += ScriptEngineMinorVersion() + ".";
    s += ScriptEngineBuildVersion();
    return(s);
}


ScriptEngineBuildVersion 函数

ScriptEngineBuildVersion 函数
请参阅 		语言参考

ScriptEngine 函数
ScriptEngineMajorVersion 函数
ScriptEngineMinorVersion 函数


ScriptEngine 函数

ScriptEngine 函数
请参阅 		语言参考

ScriptEngineBuildVersion 函数
ScriptEngineMajorVersion 函数
ScriptEngineMinorVersion 函数


ScriptEngineMajorVersion 函数

ScriptEngineMajorVersion 函数 		语言参考
版本 2

请参阅

描述
返回所使用的 Scripting 引擎的主要版本号。
语法
ScriptEngineMajorVersion( )
返回值
返回值直接依赖于所使用的 Scripting 语言的动态链接库 (DLL) 中包含的版本信息。
说明
下面的代码说明了 ScriptEngineMajorVersion 函数的用法：
function GetScriptEngineInfo()
{
    var s;
    s = ""; // 根据必要的信息创建字符串。
    s += ScriptEngine() + " Version ";
    s += ScriptEngineMajorVersion() + ".";
    s += ScriptEngineMinorVersion() + ".";
    s += ScriptEngineBuildVersion();
    return(s);
}


ScriptEngineMajorVersion 函数

ScriptEngineMajorVersion 函数
请参阅 		语言参考

ScriptEngine 函数
ScriptEngineBuildVersion 函数
ScriptEngineMinorVersion 函数


ScriptEngineMinorVersion 函数

ScriptEngineMinorVersion 函数 		语言参考
版本 2

请参阅

描述
返回所使用的 Scripting 引擎的次要版本号。
语法
ScriptEngineMinorVersion( )
返回值
返回值直接依赖于所使用的 Scripting 语言的动态链接库 (DLL) 中包含的版本信息。
说明
下面的代码说明了 ScriptEngineMinorVersion 函数的用法：
function GetScriptEngineInfo()
{
    var s;
    s = ""; // 根据必要的信息创建字符串。
    s += ScriptEngine() + " Version ";
    s += ScriptEngineMajorVersion() + ".";
    s += ScriptEngineMinorVersion() + ".";
    s += ScriptEngineBuildVersion();
    return(s);
}


ScriptEngineMinorVersion 函数

ScriptEngineMinorVersion 函数
请参阅 		语言参考

ScriptEngine 函数
ScriptEngineBuildVersion 函数
ScriptEngineMajorVersion 函数


Add 方法 (Folders)

Add 方法 (Folders) 		Scripting 运行时库参考
版本 3

请参阅 应用于

描述
向 Folders 集合中添加新的 Folder 。
语法
object.Add (folderName)

Add 方法包括了以下部分：

部分 | 描述
object | 必选项。 应为 Folders 集合的名称。
folderName | 必选项。 要添加的新 Folder 的名称。

说明
下面的例子说明了使用 Add 方法创建新文件夹的方法：
function AddNewFolder(path,folderName)
{
  var fso, f, fc, nf;
  fso = new ActiveXObject("Scripting.FileSystemObject");
  f = fso.GetFolder(path);
  fc = f.SubFolders;
  if (folderName != "" )
    nf = fc.Add(folderName);
  else
    nf = fc.Add("New Folder");
}
如果 folderName 已经存在了，则会出错。


Add 方法 (Folders)

Add 方法 (Folders)
应用于 		Scripting 运行时库参考

Folders 集合


Add 方法 (Folders)

Add 方法 (Folders)
请参阅 		Scripting 运行时库参考

Add 方法 (Dictionary)


Files 属性

Files 属性 		Scripting 运行时库参考
版本 3

请参阅 应用于

描述
返回一个 Files 集合，由指定文件夹中包含的所有 File 对象组成，包括设置了隐藏和系统文件属性的文件。
语法
object.Files

object 应为 Folder 对象。

说明
下面的代码说明了 Files 属性的用法：
function ShowFolderFileList(folderspec)
{
  var fso, f, fc, s;
  fso = new ActiveXObject("Scripting.FileSystemObject");
  f = fso.GetFolder(folderspec);
  fc = new Enumerator(f.files);
  s = "";
  for (; !fc.atEnd(); fc.moveNext())
  {
    s += fc.item();
    s += "<br>";
  }
  return(s);
}


Files 属性

Files 属性
应用于 		Scripting 运行时库参考

Folder 对象


Files 属性

Files 属性
请参阅 		Scripting 运行时库参考

Attributes 属性
DateCreated 属性
DateLastAccessed 属性
DateLastModified 属性
Drive 属性
IsRootFolder 属性
Name 属性
ParentFolder 属性
Path 属性
ShortName 属性
ShortPath 属性
Size 属性
SubFolders 属性
Type 属性


IsRootFolder 属性

IsRootFolder 属性 		Scripting 运行时库参考
版本 3

请参阅 应用于

描述
如果指定的文件夹是根文件夹则返回 True ；否则返回 False 。
语法
object.IsRootFolder

object 应为 Folder 对象。

说明
下面的代码说明了 IsRootFolder 属性的用法：
function DisplayLevelDepth(pathspec)
{
  var fso, f, n, s = "";
  fso = new ActiveXObject("Scripting.FileSystemObject");
  f = fso.GetFolder(pathspec);
  n = 0;
  if (f.IsRootFolder)
      s = "The specified folder is the root folder."
  else
  {
    do
    {
      f = f.ParentFolder;
      n++;
    }
    while (!f.IsRootFolder)
    s = "The specified folder is nested " + n + " levels deep."
  }
  return(s);
}


IsRootFolder 属性

IsRootFolder 属性
应用于 		Scripting 运行时库参考

Folder 对象


IsRootFolder 属性

IsRootFolder 属性
请参阅 		Scripting 运行时库参考

Attributes 属性
DateCreated 属性
DateLastAccessed 属性
DateLastModified 属性
Drive 属性
Files 属性
Name 属性
ParentFolder 属性
Path 属性
ShortName 属性
ShortPath 属性
Size 属性
SubFolders 属性
Type 属性


SubFolders 属性

SubFolders 属性 		Scripting 运行时库参考
版本 3

请参阅 应用于

描述
返回一个 Folders 集合，由指定文件夹中包含的所有文件夹组成，包括设置了隐藏和系统文件属性的文件夹。
语法
object.SubFolders

object 应为 Folder 对象。

说明
下面的代码说明了 SubFolders 属性的用法：
function ShowFolderList(folderspec)
{
  var fso, f, fc, s;
  fso = new ActiveXObject("Scripting.FileSystemObject");
  f = fso.GetFolder(folderspec);
  fc = new Enumerator(f.SubFolders);
  s = "";
  for (;!fc.atEnd(); fc.moveNext())
    {
      s += fc.item();
      s += "<br>";
    }
    return(s);
}


SubFolders 属性

SubFolders 属性
应用于 		Scripting 运行时库参考

Folder 对象


SubFolders 属性

SubFolders 属性
请参阅 		Scripting 运行时库参考

Attributes 属性
DateCreated 属性
DateLastAccessed 属性
DateLastModified 属性
Drive 属性
Files 属性
IsRootFolder 属性
Name 属性
ParentFolder 属性
Path 属性
ShortName 属性
ShortPath 属性
Size 属性
Type 属性


Microsoft(R) JScript 运行时库参考

Scripting
运行时库参考 		语言参考
版本信息

特性
信息
字母顺序的
关键字列表
方法
对象
属性
(C) 2000 Microsoft Corporation. All Rights Reserved!


arguments 属性

arguments 属性 		语言参考
版本 2

请参阅 应用于

描述
返回一个数组，包含了传递给当前执行函数的每个参数。
语法
function.arguments[ ]

function 参数是当前执行函数的名称。

说明
通过 arguments 属性，函数可以很好地处理可变数量的参数。 数组的 length 属性包含了传递给函数的参数的数目。

下面的例子说明了 arguments 属性的用法：

function ArgTest()
{
   var i, s, numargs = ArgTest.arguments.length;
   s = numargs;
   if (numargs < 2)
     s += " argument was passed to ArgTest. It was ";
   else
     s += " arguments were passed to ArgTest. They were " ;

   for (i = 0; i < numargs; i++)
     {
       s += ArgTest.arguments[i] + " ";
     }
   return(s);
}


arguments 属性

arguments 属性
应用于 		语言参考

Function 对象


arguments 属性

arguments 属性
请参阅 		语言参考

function 语句
length 属性 (Array)


caller 属性

caller 属性 		语言参考
版本 2

请参阅 应用于

描述
返回一个对函数的引用，该函数调用了当前函数。
语法
functionname.caller
说明
对于函数来说，caller 属性只有在函数执行时才有定义。 如果函数是由 JScript 程序的顶层调用的，那么 caller 包含的就是 null 。

如果在字符串上下文中使用 caller 属性，那么结果和 functionname.toString 一样，也就是说，显示的是函数的反编译文本。

下面的例子说明了 caller 属性的用法：

function CallLevel()
{
  if (CallLevel.caller == null)
    return("CallLevel was called from the top level.");
  else
    return("CallLevel was called by another function.");
}


caller 属性

caller 属性
应用于 		语言参考

Function 对象


caller 属性

caller 属性
请参阅 		语言参考

function 语句


length 属性 (Function)

length 属性 (Function) 		语言参考
版本 2

请参阅 应用于

描述
返回函数定义的参数数目。
语法
functionname.length

functionname 参数是必需，是被讨论的函数的名称。

说明
函数的 length 属性是在创建函数实例时由 Scripting 引擎初始化的，值是函数定义中参数的数目。

如果调用函数时参数的数目和它的 length 属性值不同，那么这时发生的情况将依赖于函数本身。

下面的例子说明了 length 属性的用法：

function ArgTest(a, b)
{
   var i, s = "The ArgTest function expected ";
   var numargs = ArgTest.arguments.length;
   var expargs = ArgTest.length;
   if (expargs < 2)
     s += expargs + " argument. ";
   else
     s += expargs + " arguments. ";
   if (numargs < 2)
     s += numargs + " was passed.";
   else
     s += numargs + " were passed.";
   return(s);
}


length 属性

length 属性 (Function)
应用于 		语言参考

Function 对象


length 属性 (Function)

length 属性 (Function)
请参阅 		语言参考

arguments 属性
length 属性 (Array)
length 属性 (String)


escape 方法

escape 方法 		语言参考
版本 1

请参阅 应用于

描述
对 String 对象编码以便它们能在所有计算机上可读，
语法
escape(charstring)

charstring 参数是要编码的 String 对象。

说明
escape 返回一个包含了 charstring 内容的新的 String 对象（ Unicode 格式）， 所有空格、标点、重音符号以及其他非 ASCII 字符都用 %xx 编码代替，其中 xx 等于表示该字符的十六进制数。 例如，空格返回的是 "%20" 。

字符的值大于 255 的用 %u xxxx 格式存储。


escape 方法

escape 方法
应用于 		语言参考

Global 对象


escape 方法

escape 方法
请参阅 		语言参考

String 对象
unescape 方法


eval 方法

eval 方法 		语言参考
版本 1

请参阅 应用于

描述
检查 JScript 代码并执行.
语法
eval(codestring)

codestring 参数是包含有效 JScript 代码的 String 对象. 这个字符串将由 JScript 分析器进行分析和执行.

说明
eval 函数允许 JScript 源代码的动态执行. 例如,下面的代码创建了一个包含 Date 对象的新变量 mydate :
eval("var mydate = new Date();");
传递给 eval 方法的代码执行时的上下文和调用 eval 方法的一样.


eval 方法

eval 方法
应用于 		语言参考

Global 对象


eval 方法

eval 方法
请参阅 		语言参考

String 对象


Infinity 属性

Infinity 属性 		语言参考
版本 3

请参阅 应用于

描述
返回 Number.POSITIVE_INFINITY 的初始值。
语法
Infinity
说明
Infinity 属性是 Global 对象的成员，在 Scripting 引擎初始化时变为可用。


Infinity 属性

Infinity 属性
应用于 		语言参考

Global 对象


Infinity 属性

Infinity 属性
请参阅 		语言参考

POSITIVE_INFINITY 属性
NEGATIVE_INFINITY 属性


isFinite 方法

isFinite 方法 		语言参考
版本 3

请参阅 应用于

描述
返回一个 Boolean 值,指明所提供的数字是否是有限的。
语法
isFinite(number)

number 参数需要数字值。

说明
如果 number 不是 NaN 、负无穷或正无穷，那么 isFinite 方法将返回 true 。 如果是这三种情况，函数返回 false 。


isFinite 方法

isFinite 方法
应用于 		语言参考

Global 对象


isFinite 方法

isFinite 方法
请参阅 		语言参考

isNaN 方法


isNaN 方法

isNaN 方法 		语言参考
版本 1

请参阅 应用于

描述
返回一个 Boolean 值，指明提供的值是否是保留值 NaN （不是数字）。
语法
isNaN(numvalue)

numvalue 参数是要检查是否为 NaN 的值。

说明
如果值是 NaN， 那么 isNaN 函数返回 true ，否则返回 false 。 使用这个函数的典型情况是检查 parseInt 和 parseFloat 方法的返回值。

还有一种办法，变量可以与它自身进行比较。 如果比较的结果不等，那么它就是 NaN 。 这是因为 NaN 是唯一与自身不等的值。


isNaN 方法

isNaN 方法
应用于 		语言参考

Global 对象


isNaN 方法

isNaN 方法
请参阅 		语言参考

isFinite 方法
NaN 属性 (Global)
parseFloat 方法
parseInt 方法


NaN 属性 (Global)

NaN 属性 		语言参考
版本 3

请参阅 应用于

描述
返回特殊值 NaN ，表示表达式不是数字。
语法
NaN
说明
NaN 属性 （不是数字）是 Global 对象的成员，在 Scripting 引擎初始化时变为可用。


NaN 属性

NaN 属性
应用于 		语言参考

Global 对象


NaN 属性

NaN 属性
请参阅 		语言参考

isNaN 方法


parseFloat 方法

parseFloat 方法 		语言参考
版本 1

请参阅 应用于

描述
返回由字符串转换得到的浮点数。
语法
parseFloat(numstring)

numstring 参数是包含浮点数的字符串。

注释
parseFloat 方法返回与 numstring 中保存的数相等的数字表示。如果 numstring 的前缀不能解释为浮点数，则返回 NaN （而不是数字）。
parseFloat("abc")    // 返回 NaN。
parseFloat("1.2abc") // 返回 1.2。
可以用 isNaN 方法检测 NaN。


parseFloat 方法

parseFloat 方法
应用于 		语言参考

Global 对象


parseFloat 方法

parseFloat 方法
请参阅 		语言参考

isNaN 方法
parseInt 方法
String 对象
valueOf 方法


parseInt 方法

parseInt 方法 		语言参考
版本 1

请参阅 应用于

描述
返回由字符串转换得到的整数。
语法
parseInt(numstring, [radix])

parseInt 方法的语法有如下部分：

部分 | 描述
numstring | 必选项。要转换为数字的字符串。
radix | 可选项。在 2 和 36 之间的表示 numstring 所保存数字的进制的值。如果没有提供，则前缀为 '0x' 的字符串被当作十六进制，前缀为 '0' 的字符串被当作八进制。所有其它字符串都被当作是十进制的。

说明
parseInt 方法返回与保存在 numstring 中的数字值相等的整数。如果 numstring 的前缀不能解释为整数，则返回 NaN（而不是数字）。
parseInt("abc")    // 返回 NaN.
parseInt("12abc")  // 返回 12.
可以用 isNaN 方法检测 NaN。


parseInt 方法

parseInt 方法
应用于 		语言参考

Global 对象


parseInt 方法

parseInt 方法
请参阅 		语言参考

isNaN 方法
parseFloat 方法
String 对象
valueOf 方法


unescape 方法

unescape 方法 		语言参考
版本 1

请参阅 应用于

描述
解码用 escape 方法进行了编码的 String 对象。
语法
unescape(charstring)

charstring 参数是要解码的 String 对象。

说明
unescape 方法返回保存了 charstring 内容新的 String 对象。 所有以 %xx 十六进制形式编码的字符都用 ASCII 字符集中等价的字符代替。

以 %u xxxx 格式（Unicode 字符）编码的字符用十六进制编码 xxxx 的 Unicode 字符代替.


unescape 方法

unescape 方法
应用于 		语言参考

Global 对象


unescape 方法

unescape 方法
请参阅 		语言参考

escape 方法
String 对象


JScript 比较运算符

比较运算符 		语言参考
版本 1

请参阅

描述
返回表示比较结果的 Boolean 值。
语法
expression1 comparisonoperator expression2

比较运算符语法有以下部分：

部分 | 描述
expression1 | 任何表达式。
comparisonoperator | 任何比较运算符。
expression2 | 任何表达式。

说明
比较字符串时，JScript 使用字符串表达式的 Unicode 字符值。

下面说明根据 expression1 和 expression2 的类型和值，不同组的运算符是如何作用的：

关系运算符（<、>、<=、>=）

  • 试图将 expression1 和 expression2 都转换为数字。
  • 如果两表达式均为字符串，则按字典序进行字符串比较。
  • 如果其中一个表达式为 NaN，返回 false。
  • 负零等于正零。
  • 负无穷小于包括其本身在内的任何数。
  • 正无穷大于包括其本身在内的任何数。
相等运算符 （==、!=）
  • 如果两表达式的类型不同，则试图将它们转换为字符串、数字或 Boolean 量。
  • NaN 与包括其本身在内的任何值都不相等。
  • 负零等于正零。
  • null 与 null 和 undefined 相等。
  • 相同的字符串、数值上相等的数字、相同的对象、相同的 Boolean 值或者（当类型不同时）能被强制转化为上述情况之一，均被认为是相等的。
  • 其他比较均被认为是不相等的。
恒等运算符 （===、!==）
除了不进行类型转换，并且类型必须相同以外，这些运算符与相等运算符的作用是一样的。


比较运算符

比较运算符
请参阅 		语言参考

运算符操作
运算符优先级
运算符总结


Microsoft JScript 特性 - ECMA

Microsoft JScript 特性
ECMA 		语言参考

种类 | 特性/关键字
数组处理 Array
join, length, reverse, sort
赋值 赋值 (=)
复合赋值(OP=)
Boolean Boolean
注释 | /*...*/ 或 //
常数/文字 NaN
null
true, false
Infinity
undefined
控制流 break
continue
for
for...in
if...else
return
while
日期和时间 Date
getDate, getDay, getFullYear, getHours, getMilliseconds, getMinutes, getMonth, getSeconds, getTime, getTimezoneOffset, getYear,
getUTCDate, getUTCDay, getUTCFullYear, getUTCHours, getUTCMilliseconds, getUTCMinutes, getUTCMonth, getUTCSeconds,
setDate, setFullYear, setHours, setMilliseconds, setMinutes, setMonth, setSeconds, setTime, setYear,
setUTCDate, setUTCFullYear, setUTCHours, setUTCMilliseconds, setUTCMinutes, setUTCMonth, setUTCSeconds,
toGMTString, toLocaleString, toUTCString, parse, UTC
声明 function
new
this
var
with
函数创建 Function
arguments, length
Global 方法 Global
escape, unescape
eval
isFinite, isNaN
parseInt, parseFloat
数学 Math
abs, acos, asin, atan, atan2, ceil, cos, exp, floor, log, max, min, pow, random, round, sin, sqrt, tan,
E, LN2, LN10, LOG2E, LOG10E, PI, SQRT1_2, SQRT2
数字 Number
MAX_VALUE, MIN_VALUE
NaN
NEGATIVE_INFINITY, POSITIVE_INFINITY
对象创建 object
new
constructor, prototype, toString, valueOf
运算符 加 (+), 减 (-)
算术取模 (%)
乘 (*), 除 (/)
负 (-)
相等 (==), 不相等 (!=)
小于 (<), 小于等于 (<=)
大于 (>)
大于等于 (>=)
逻辑与 (&&), 或 (||), 非 (!)
位与 (&), 或 (|), 非 (~), 异或 (^)
位左移 (<<), 右移 (>>)
无符号右移 (>>>)
条件 (?:)
逗号 (,)
delete, typeof, void
递减 (--), 递增 (++)
对象 Array
Boolean
Date
Function
Global
Math
Number
Object
String
字符串 String
charAt, charCodeAt, fromCharCode
indexOf, lastIndexOf
split
toLowerCase, toUpperCase
length


Microsoft JScript 特性 - 非-ECMA

Microsoft JScript 特性
非-ECMA 		语言参考

种类 | 特性/关键字
数组处理 concat, slice
VBArray
dimensions, getItem, lbound, toArray, ubound
条件编译 @cc_on
@if 语句
@set 语句
条件编译变量
控制流 do...while
Labeled
switch
日期和时间 getVarDate
枚举 Enumerator
atEnd, item, moveFirst, moveNext
错误处理 Error
description, number
throw, try...catch
函数创建 | caller
运算符 恒等 (===), 不恒等 (!==)
对象 Enumerator
RegExp
正则表达式
VBArray
ActiveXObject
GetObject
正则表达式和模式匹配 RegExp
index, input, lastIndex, $1...$9, source, compile, exec, test
正则表达式语法
脚本引擎标识 ScriptEngine
ScriptEngineBuildVersion
ScriptEngineMajorVersion
ScriptEngineMinorVersion
字符串 concat, slice
match, replace, search
anchor, big, blink, bold, fixed, fontcolor, fontsize, italics, link, small, strike, sub, sup


Microsoft Scripting 运行时特性

Microsoft Scripting
运行时特性 		语言参考

种类 特性/关键字
集合 Drives
Files
Folders
数据存储 Dictionary
字典 Add
Exists
Items, Keys
Remove, RemoveAll
Count
Item, Key
文件系统 Drive
File
FileSystemObject
folder
TextStream
FileSystemObject BuildPath
CopyFile, CopyFolder
CreateFolder, CreateTextFile
DeleteFile, DeleteFolder
DriveExists, FileExists, FolderExists
GetAbsolutePathName, GetBaseName
GetDrive, GetDriveName
GetFile, GetExtensionName GetFileName
GetFolder, GetParentFolderName
GetSpecialFolder
GetTempName
MoveFile, MoveFolder
OpenTextFile
Drives
Drive, Drives AvailableSpace
Count
DriveLetter
DriveType
FileSystem
FreeSpace
IsReady
Item
RootFolder
SerialNumber
ShareName
TotalSize
VolumeName
File, Files
Folder, Folders 		Add
Attributes
Copy, Delete, Move
Count
OpenAsTextStream
DateCreated, DateLastAccessed, DateLastModified
Drive
Item
ParentFolder
Name, Path
ShortName, ShortPath
Size
TextStream Close
Read, ReadAll, ReadLine
Skip, SkipLine
Write, WriteBlankLines, WriteLine
AtEndOfLine, AtEndOfStream
Column, Line


abs 方法

abs 方法 		语言参考
版本 1

请参阅 应用于

描述
返回数字的绝对值。
语法
Math.abs(number)

number 参数是要计算绝对值的数值表达式。

说明
返回的值是 number 参数的绝对值。

下面的例子演示了abs 方法的用法：

function ComparePosNegVal(n)
{
  var s;
  var v1 = Math.abs(n);
  var v2 = Math.abs(-n);
  if (v1 == v2)
    s = n + " 和 "
    s += -n + " 的绝对值是相同的。";
  return(s);
}


abs 方法

abs 方法
应用于 		语言参考

Math 对象


abs 方法

abs 方法
请参阅 		语言参考

Math 对象方法


acos 方法

acos 方法 		语言参考
版本 1

请参阅 应用于

描述
返回数的反余弦值。
语法
Math.acos(number)

number 参数是要计算反余弦值的数值表达式。

说明
返回值为 number 参数的反余弦值。


acos 方法

acos 方法
应用于 		语言参考

Math 对象


acos 方法

acos 方法
请参阅 		语言参考

asin 方法
atan 方法
cos 方法
Math 对象方法
sin 方法
tan 方法


asin 方法

asin 方法 		语言参考
版本 1

请参阅 应用于

描述
返回数字的反正弦值。
语法
Math.asin(number)

number 参数是要计算反正弦的数值表达式。

说明
返回值为数字参数的反正弦值。


asin 方法

asin 方法
应用于 		语言参考

Math 对象


asin 方法

asin 方法
请参阅 		语言参考

acos 方法
atan 方法
cos 方法
Math 对象方法
sin 方法
tan 方法


atan 方法

atan 方法 		语言参考
版本 1

请参阅 应用于

描述
返回数字的反正切值。
语法
Math.atan(number)

number 参数是要计算反正切的数值表达式。

说明
返回值为其数字参数的反正切值。


atan2 方法

atan2 方法 		语言参考
版本 2

请参阅 应用于

描述
返回由 X 轴到 (y,x) 点的角度（以弧度为单位）。
语法
Math.atan2(y, x)

部分 | 描述
Math | 必选项。 调用固有的 Math 对象。
x | 必选项。 描述笛卡儿 x 坐标的数值表达式。
y | 必选项。 描述笛卡儿 y 坐标的数值表达式。

说明
返回值在 -pi 和 pi 之间，表示提供的 (y,x) 点的角度。


atan2 方法

atan2 方法
应用于 		语言参考

Math 对象


atan2 方法

atan2 方法
请参阅 		语言参考

atan 方法
Math 对象方法
tan 方法


atan 方法

atan 方法
应用于 		语言参考

Math 对象


atan 方法

atan 方法
请参阅 		语言参考

acos 方法
asin 方法
atan2 方法
cos 方法
Math 对象方法
sin 方法
tan 方法


ceil 方法

ceil 方法 		语言参考
版本 1

请参阅 应用于

描述
返回大于等于其数字参数的最小整数。
语法
Math.ceil(number)

number 参数是数值表达式.

说明
返回值为大于等于其数字参数的最小整数。


ceil 方法

ceil 方法
应用于 		语言参考

Math 对象


ceil 方法

ceil 方法
请参阅 		语言参考

floor 方法
Math 对象方法


cos 方法

cos 方法 		语言参考
版本 1

请参阅 应用于

描述
返回数的余弦值。
语法
Math.cos(number)

number 参数为要计算余弦的数值表达式。

说明
返回值为其数字参数的余弦值。


cos 方法

cos 方法
应用于 		语言参考

Math 对象


cos 方法

cos 方法
请参阅 		语言参考

acos 方法
asin 方法
atan 方法
Math 对象方法
sin 方法
tan 方法


E 属性

E 属性 		语言参考
版本 1

请参阅 应用于

描述
返回 Euler 常数，自然对数的底。E 属性约等于 2.718。
语法
var numVar
numVar = Math.E


E 属性

E 属性
应用于 		语言参考

Math 对象


E 属性

E 属性
请参阅 		语言参考

exp 方法
Math 对象属性


exp 方法

exp 方法 		语言参考
版本 1

请参阅 应用于

描述
返回 e（自然对数的底）的幂。
语法
Math.exp(number)

number 参数是数值表达式，用来计算 e 的幂。

说明
返回值为 enumber。常数 e 为自然对数的底，约等于 2.178，number 是给出的参数。


exp 方法

exp 方法
应用于 		语言参考

Math 对象


exp 方法

exp 方法
请参阅 		语言参考

E 属性
Math 对象方法


floor 方法

floor 方法 		语言参考
版本 1

请参阅 应用于

描述
返回小于等于其数字参数的最大整数。
语法
Math.floor(number)

number 参数是数值表达式。

说明
返回值为小于等于其数字参数的最大整数。


floor 方法

floor 方法
应用于 		语言参考

Math 对象


floor 方法

floor 方法
请参阅 		语言参考

ceil 方法
Math 对象方法


LN2 属性

LN2 属性 		语言参考
版本 1

请参阅 应用于

描述
返回 2 的自然对数。
语法
var numVar
numVar = Math.LN2
语法
LN2 属性约等于 0.693。


LN2 属性

LN2 属性
应用于 		语言参考

Math 对象


LN2 属性

LN2 属性
请参阅 		语言参考

Math 对象属性


LN10 属性

LN10 属性 		语言参考
版本 1

请参阅 应用于

描述
返回 10 的自然对数。
语法
var numVar
numVar = Math.LN10
说明
LN10 属性约等于 2.302。


LN10 属性

LN10 属性
应用于 		语言参考

Math 对象


LN10 属性

LN10 属性
请参阅 		语言参考

Math 对象属性


log 方法

log 方法 		语言参考
版本 1

请参阅 应用于

描述
返回数字的自然对数。
语法
Math.log(number)

number 参数是要计算自然对数的数值表达式。

返回值
返回值为 number 的自然对数，底为 e。


LOG2E 属性

LOG2E 属性 		语言参考
版本 1

请参阅 应用于

描述
返回 以 2 为底 e（自然对数的底）的对数。
语法
var varName
varName = objName.LOG2E
说明
LOG2E 属性，常数，约等于 1.442。


LOG2E 属性

LOG2E 属性
应用于 		语言参考

Math 对象


LOG2E 属性

LOG2E 属性
请参阅 		语言参考

Math 对象属性


LOG10E 属性

LOG10E 属性 		语言参考
版本 1

请参阅 应用于

描述
返回以 10 为底 e（自然对数的底）的对数。
语法
var varName
varName = objName.LOG10E
说明
LOG10E 属性，常数，约等于 0.434。


LOG10E 属性

Log10E 属性
应用于 		语言参考

Math 对象


LOG10E 属性

LOG10E 属性
请参阅 		语言参考

Math 对象属性


log 方法

log 方法
应用于 		语言参考

Math 对象


log 方法

log 方法
请参阅 		语言参考

Math 对象方法


max 方法

max 方法 		语言参考
版本 1

请参阅 应用于

描述
返回给出的两个数值表达式中较大者。
语法
retVal = Math.max(number1, number2)

max 方法语法有以下部分：

部分 | 描述
retVal | number1 和 number2 中较大的。
number1 | 要与 number2 进行比较的数值表达式。
number2 | 要与 number1 进行比较的数字值。


max 方法

max 方法
应用于 		语言参考

Math 对象


max 方法

max 方法
请参阅 		语言参考

Math 对象方法
min 方法


min 方法

min 方法 		语言参考
版本 1

请参阅 应用于

描述
返回给出的数字中较小的。
语法
retVal = Math.min(number1, number2)

min 方法语法有以下部分：

部分 | 描述
retVal | number1 和 number2 中较小的。
number1 | 要与 number2 进行比较的数值表达式。
number2 | 要与 number1 进行比较的数字值。


min 方法

min 方法
应用于 		语言参考

Math 对象


min 方法

min 方法
请参阅 		语言参考

Math 对象方法
max 方法


PI 属性

PI 属性 		语言参考
版本 1

请参阅 应用于

描述
返回圆的周长与其直径的比值，约等于 3.141592653589793。
语法
var numVar
numVar = Math.PI
语法
PI 属性，常数，约等于3.14159.


PI 属性

PI 属性
应用于 		语言参考

Math 对象


PI 属性

PI 属性
请参阅 		语言参考

Math 对象属性


pow 方法

pow 方法 		语言参考
版本 1

请参阅 应用于

描述
返回底表达式的指定次幂。
语法
Math.pow(base, exponent)

pow 方法语法有以下部分：

部分 | 描述
base | 表达式底的值。
exponent | 表达式的指数值。

说明
在下面的例子中，等同于 baseexponent 的数值表达式，返回值为 1000。
Math.pow(10,3);


pow 方法

pow 方法
应用于 		语言参考

Math 对象


pow 方法

pow 方法
请参阅 		语言参考

Math 对象方法


random 方法

random 方法 		语言参考
版本 1

请参阅 应用于

描述
返回介于 0 和 1 之间的伪随机数。
语法
Math.random( )
说明
产生的伪随机数介于 0 和 1 之间（含 0 和 1）。在第一次加载 JScript 时随机数发生器自动产生 。


random 方法

random 方法
应用于 		语言参考

Math 对象


random 方法

random 方法
请参阅 		语言参考

Math 对象方法


round 方法

round 方法 		语言参考
版本 1

请参阅 应用于

描述
返回与给出的数值表达式最接近的整数。
语法
Math.round(number)

number 参数是要舍入到最接近整数的值。

说明
如果 number 的小数部分大于等于 0.5，返回值是大于 number 的最小整数。否则，round 返回小于等于 number 的最大整数。


round 方法

round 方法
应用于 		语言参考

Math 对象


round 方法

round 方法
请参阅 		语言参考

Math 对象方法


sin 方法

sin 方法 		语言参考
版本 1

请参阅 应用于

描述
返回数字的正弦值。
语法
Math.sin(number)

number 参数是要计算正弦的数值表达式。

说明
返回值为其数字参数的正弦值。


sin 方法

sin 方法
应用于 		语言参考

Math 对象


sin 方法

sin 方法
请参阅 		语言参考

acos 方法
asin 方法
atan 方法
cos 方法
Math 对象方法
tan 方法


sqrt 方法

sqrt 方法 		语言参考
版本 1

请参阅 应用于

描述
返回数字的平方根。
语法
Math.sqrt(number)

number 参数是数值表达式。

说明
如果 number 为负数，则返回值为零。


SQRT1_2 属性

SQRT1_2 属性 		语言参考
版本 1

请参阅 应用于

描述
返回 0.5 的平方根，或说 2 的平方根分之一。
语法
var numVar
numVar = Math.SQRT1_2
说明
SQRT1_2 属性，常数，约等于0.707.


SQRT1_2 属性

SQRT1_2 属性
应用于 		语言参考

Math 对象


SQRT1_2 属性

SQRT1_2 属性
请参阅 		语言参考

Math 对象属性
sqrt 方法
SQRT2 属性


SQRT2 属性

SQRT2 属性 		语言参考
版本 1

请参阅 应用于

描述
返回 2 的平方根。
语法
var numVar
numVar = Math.SQRT2
语法
SQRT2 属性，常数，约等于1.414.


SQRT2 属性

SQRT2 属性
应用于 		语言参考

Math 对象


SQRT2 Property

SQRT2 属性
请参阅 		语言参考

Math 对象属性
sqrt 方法
SQRT1_2 属性


sqrt 方法

sqrt 方法
应用于 		语言参考

Math 对象


sqrt 方法

sqrt 方法
请参阅 		语言参考

Math 对象方法
SQRT1_2 属性
SQRT2 属性


tan 方法

tan 方法 		语言参考
版本 1

请参阅 应用于

描述
返回数字的正切值。
语法
Math.tan(number)

number 参数是要计算正切值的数值表达式。

说明
返回值为 number 的正切值。


tan 方法

tan 方法
应用于 		语言参考

Math 对象


tan 方法

tan 方法
请参阅 		语言参考

acos 方法
asin 方法
atan 方法
atan2 方法
cos 方法
Math 对象方法
sin 方法


JScript 运行时错误

JScript 运行时错误 		语言参考
版本 1

JScript 语法错误

错误编号 | 描述
5 | 无效的过程调用或参数
6 | 溢出
7 | 内存不足
9 | 下标越界
10 | 该数组为定长的或临时被锁定
11 | 被零除
13 | 类型不匹配
14 | 字符串空间不够
17 | 不能执行所需的操作
28 | 堆栈溢出
35 | 未定义过程或函数
48 | 加载 DLL 时出错
51 | 内部错误
52 | 错误的文件名或号码
53 | 文件未找到
54 | 错误的文件模式
55 | 文件已经打开
57 | 设备 I/O 错误
58 | 文件已存在
61 | 磁盘已满
62 | 输入超出了文件尾
67 | 文件过多
68 | 设备不可用
70 | 没有权限
71 | 磁盘没有准备好
74 | 重命名时不能带有其他驱动器符号
75 | 路径/文件访问错误
76 | 路径未找到
91 | 对象变量或 With 块变量未设置
92 | For 循环未初始化
94 | 无效使用 Null
322 | 不能创建所需的临时文件
424 | 缺少对象
429 | Automation 服务器不能创建对象
430 | 类不能支持 Automation 操作
432 | Automation 操作中文件名或类名未找到
438 | 对象不支持此属性或方法
440 | Automation 错误
445 | 对象不支持此操作
446 | 对象不支持已命名参数
447 | 对象不支持当前区域设置
448 | 未找到已命名参数
449 | 参数是必选项
450 | 错误的参数个数或无效的参数属性值
451 | 对象不是一个集合
453 | 未找到指定的 DLL 函数
458 | 变量使用了一个 JScript 中不支持的 Automation 类型
462 | 远程服务器不存在或不可用
501 | 不能给变量赋值
502 | 对象不能安全地使用 Script 编程
503 | 对象不能安全初始化
504 | 对象不能安全创建
507 | 出现一个意外错误
5000 | 不能给 'this' 赋值
5001 | 缺少数字
5002 | 缺少函数
5003 | 不能给函数返回值赋值
5004 | 不能检索对象
5005 | 缺少字符串
5006 | 缺少日期对象
5007 | 缺少对象
5008 | 非法赋值
5009 | 未定义标识符
5010 | 缺少布尔变量
5011 | 不能执行已释放 Script 的代码
5012 | 缺少对象成员
5013 | 缺少 VBArray
5014 | 缺少 JScript 对象
5015 | 缺少枚举算子对象
5016 | 缺少常规表达式对象
5017 | 常规表达式语法错误
5018 | 错误的数量词
5019 | 常规表达式中缺少 ']'
5020 | 常规表达式中缺少 ')'
5021 | 字符集越界
5022 | 例外被抛出且未被接住
5023 | 函数没有有效的原型对象


JScript 语法错误

JScript 语法错误 		语言参考
版本 1

JScript 运行时错误

错误编号 | 描述
1001 | 内存不足
1002 | 语法错误
1003 | 缺少 ':'
1004 | 缺少 ';'
1005 | 缺少 '('
1006 | 缺少 ')'
1007 | 缺少 ']'
1008 | 缺少 '{'
1009 | 缺少 '}'
1010 | 缺少标识符
1011 | 缺少 '='
1012 | 缺少 '/'
1013 | 无效数字
1014 | 无效字符
1015 | 未结束的字符串常量
1016 | 注释未结束
1018 | 'return' 语句在函数之外
1019 | 循环之外不能有 'break'
1020 | 循环之外不能有 'continue'
1023 | 缺少十六进制数字
1024 | 缺少 'while'
1025 | 标签重复定义
1026 | 标签未找到
1027 | 'default' 只能用于 'switch' 语句
1028 | 缺少标识符或字符串
1029 | 缺少 '@end'
1030 | 条件编译已关闭
1031 | 缺少常量
1032 | 缺少 '@'
1033 | 缺少 'catch'
1034 | 缺少 'var'
1035 | 'throw' 的后面必须跟有一个表达式，并且在同一源代码行上


MAX_VALUE 属性

MAX_VALUE 属性 		语言参考
版本 2

请参阅 应用于

描述
返回 JScript 能表达的最大的数。约等于 1.79E+308。
语法
number.MAX_VALUE

number 参数是 Number 对象.

说明
在能够访问 MAX_VALUE 属性前不必创建 Number 对象。


MAX_VALUE 属性

MAX_VALUE 属性
应用于 		语言参考

Number 对象


MAX_VALUE 属性

MAX_VALUE 属性
请参阅 		语言参考

MIN_VALUE 属性
NaN 属性
NEGATIVE_INFINITY 属性
POSITIVE_INFINITY 属性
toString 方法


MIN_VALUE 属性

MIN_VALUE 属性 		语言参考
版本 2

请参阅 应用于

描述
返回 JScript 中能够表示的最接近零的数。约等于 2.22E-308。
语法
number.MIN_VALUE

number 参数是 Number 对象.

说明
在能够访问 MIN_VALUE 属性前不必创建 Number 对象。


MIN_VALUE 属性

MIN_VALUE 属性
应用于 		语言参考

Number 对象


MIN_VALUE 属性

MIN_VALUE 属性
请参阅 		语言参考

MAX_VALUE 属性
NaN 属性
NEGATIVE_INFINITY 属性
POSITIVE_INFINITY 属性
toString 方法


NaN 属性

NaN 属性 		语言参考
版本 2

请参阅 应用于

描述
表示算术表达式返回非数字值的特殊值。
语法
number.NaN

number 参数是Number 对象.

说明
在能够访问 NaN 属性前不必创建 Number 对象。

NaN 不与任何值相等，包括其本身。要检测值是否为 NaN，请使用 isNaN 函数。


NaN 属性

NaN 属性
应用于 		语言参考

Number 对象


NaN 属性

NaN 属性
请参阅 		语言参考

isNaN 方法
MAX_VALUE 属性
MIN_VALUE 属性
NEGATIVE_INFINITY 属性
POSITIVE_INFINITY 属性
toString 方法


NEGATIVE_INFINITY 属性

NEGATIVE_INFINITY 属性 		语言参考
版本 2

请参阅 应用于

描述
返回比 JScript 能够表示的最小负数（-Number.MAX_VALUE）更小的值。
语法
number.NEGATIVE_INFINITY

number 参数是 Number 对象.

说明
在能够访问 NEGATIVE_INFINITY 属性前不必创建 Number 对象。

JScript 将 NEGATIVE_INFINITY 值显示为 -infinity。该值数学上的作用与负无穷相同。


NEGATIVE_INFINITY 属性

NEGATIVE_INFINITY 属性
应用于 		语言参考

Number 对象


NEGATIVE_INFINITY 属性

NEGATIVE_INFINITY 属性
请参阅 		语言参考

MAX_VALUE 属性
MIN_VALUE 属性
NaN 属性
POSITIVE_INFINITY 属性
toString 方法


POSITIVE_INFINITY 属性

POSITIVE_INFINITY 属性 		语言参考
版本 2

请参阅 应用于

描述
返回比在 JScript 中能够表示的最大的数 (Number.MAX_VALUE) 更大的值。
语法
number.POSITIVE_INFINITY

number 参数是 Number 对象.

说明
在能够访问 POSITIVE_INFINITY 属性前不必创建 Number 对象。

JScript 将 POSITIVE_INFINITY 值显示为 infinity。该值数学上的作用与正无穷相同。


POSITIVE_INFINITY 属性

POSITIVE_INFINITY 属性
应用于 		语言参考

Number 对象


POSITIVE_INFINITY 属性

POSITIVE_INFINITY 属性
请参阅 		语言参考

MAX_VALUE 属性
MIN_VALUE 属性
NaN 属性
NEGATIVE_INFINITY 属性
toString 方法


ActiveXObject 对象

ActiveXObject 对象 		语言参考
版本 3

请参阅

描述
启用并返回 Automation 对象的引用。
语法
var newObject = new ActiveXObject("servername.typename"[, "location"])

ActiveXObject 对象语法有这些部分：

部分 | 描述
servername | 必选项。提供该对象的应用程序的名称。
typename | 必选项。要创建的对象的类型或类。
location | 可选项。创建该对象的网络服务器的名称。

说明
Automation 服务器至少提供一类对象。例如，字处理应用程序可能提供应用程序对象、文档对象和工具栏对象。

要创建 Automation 对象，将新的 ActiveXObject 赋给对象变量：

var ExcelSheet;
ExcelSheet = new ActiveXObject("Excel.Sheet");
本代码启动创建对象的应用程序（在这种情况下，Microsoft Excel 工作表）。一旦对象被创建，就可以用定义的对象变量在代码中引用它。 在下面的例子中，通过对象变量 ExcelSheet 访问新对象的属性和方法和其他 Excel 对象，包括 Application 对象和 ActiveSheet.Cells 集合。例如：

// 使 Excel 通过 Application 对象可见。
ExcelSheet.Application.Visible = true;
// 将一些文本放置到表格的第一格中。
ExcelSheet.ActiveSheet.Cells(1,1).Value = "This is column A, row 1";
// 保存表格。
ExcelSheet.SaveAs("C:\\TEST.XLS");
// 用 Application 对象用 Quit 方法关闭 Excel。
ExcelSheet.Application.Quit();
// 释放对象变量。
ExcelSheet = "";
只有当 Internet 安全性关闭时才能完成在远程服务器中创建对象。要在远程网络计算机创建对象，可以将该计算机的名称传递给 ActiveXObject 的 servername 参数。该名称与共享名的机器名部分相同。比如共享名为 "\\myserver\public" 的网络，servername 是 "myserver"。另外，可以用 DNS 格式或 IP 地址指定 servername。

下面的代码返回在名为 "myserver" 的远程网络计算机上运行的 Excel 实例的版本号：

Function GetVersion {
  var XLApp = CreateObject("Excel.Application", "MyServer");
  return(XLApp.Version);
}
如果指定的远程服务器不存在或找不到时将发生错误。


ActiveXObject 对象

ActiveXObject 对象
请参阅 		语言参考

GetObject 函数


Array 对象

Array 对象
 语言参考
版本 2

请参阅 方法 属性

描述
提供对创建任何数据类型的数组的支持。
语法
new Array()
new Array(size)
new Array(element0, element1, ..., elementn)

创建 Array 对象的语法有以下部分：

部分 | 描述
size | 数组的大小。由于数组的下标是从零开始，创建的元素的下标将从零到 size -1。
element0,...,elementn | 要放到数组中的元素。这将创建具有 n + 1 个元素的长度为 n 的数组。

说明
创建数组后，能够用 [ ] 符号访问数组单个元素，例如：
var my_array = new Array();
for (i = 0; i < 10; i++)
    {
    my_array[i] = i;
    }
x = my_array[4];
由于 Microsoft JScript 中的数组的下标是从零开始的，前面例子中最后一条语句访问数组的第五个元素。该元素中保存的值是 4。

如果只向 Array 的构造函数传递了一个参数，而该参数是数字，则它被强制转为无符号整数，并且该值被用作数组的大小。否则，传入的参数被作为数组中唯一的元素。


Array 对象

Array 对象
请参阅 		语言参考

new 运算符


Array 对象方法

Array 对象
方法 		语言参考

Array.prototype 的成员
concat 方法
join 方法
reverse 方法
slice 方法
sort 方法

toString 方法
valueOf 方法

Array.prototype 的非成员
Array 对象没有不是 prototype 的部分的成员。


Array 对象属性

Array 对象
属性 		语言参考

Array.prototype 的成员
constructor 属性
Array.prototype 的非成员
length 属性
prototype 属性


Boolean 对象

Boolean 对象 		语言参考
版本 2

请参阅 方法 属性

描述
创建新的 Boolean 值。
Syntax
var variablename = new Boolean(boolvalue)

可选的 boolvalue 参数是新对象的初始 Boolean 值。如果该值省略，或者为 false、0、null、NaN 以及空字符串，则该 Boolean 对象的初始值为 false。否则，初始值为 true。

说明
Boolean 对象是 Boolean 数据类型的包装器。每当 Boolean 数据类型转换为 Boolean 对象时，JScript 都隐含地使用 Boolean 对象。

很少会显式地调用 Boolean 对象。


Boolean 对象

Boolean 对象
请参阅 		语言参考

new 运算符
var 语句


Boolean 对象方法

Boolean 对象
方法 		语言参考

Boolean.prototype 的成员
toString 方法
valueOf 方法
Boolean.prototype 的非成员
Boolean 对象没有不是 prototype 的部分的方法。


Boolean 对象属性

Boolean 对象
属性 		语言参考

Boolean.prototype 的成员
constructor 属性
Boolean.prototype 的非成员
prototype 属性


Date 对象

Date 对象 		语言参考
版本 1

请参阅 方法 属性

描述
启用基本存储器并取得日期和时间。
语法
var newDateObj = new Date()
var newDateObj = new Date(dateVal)
var newDateObj = new Date(year, month, date[, hours[, minutes[, seconds[,ms]]]])

Date 对象的构造函数语法有以下部分：

部分 | 描述
dateVal | 如果是数字值，dateVal 表示指定日期与 1970 年 1 月 1 日午夜间全球标准时间 的毫秒数。如果是字符串，则 dateVal 按照 parse 方法中的规则进行解析。dateVal 参数也可以是从某些 ActiveX(R) 对象返回的 VT_DATE 值。
year | 必选项。完整的年份，比如，1976（而不是 76）。
month | 必选项。表示的月份，是从 0 到 11 之间的整数（ 1 月至 12 月）。
date | 必选项。表示日期，是从 1 到 31 之间的整数。
hours | 可选项。 如果提供了 minutes 则必须给出。表示小时，是从 0 到 23 的整数（午夜到 11pm）。
minutes | 可选项。 如果提供了 seconds 则必须给出。表示分钟，是从 0 到 59 的整数。
seconds | 可选项。 如果提供了 milliseconds 则必须给出。表示秒钟，是从 0 到 59 的整数。
ms | 可选项。 表示毫秒，是从 0 到 999 的整数。

说明
Date 对象保存以毫秒为单位表示特定时间段。如果某个参数的值大于其范围或为负数，则存储的其他值将做相应的调整。例如，如果指定 150 秒，JScript 将该数字重新定义为 2 分 30 秒。

如果数字为 NaN，则表示该对象不代表特定的时间段。如果未向 Date 对象传递参数，它将被初始化为当前时间 (UTC)。在能够使用该对象前必须为其赋值。

Date 对象能够表示的日期范围约等于 1970 年 1 月 1 日前后各 285,616 年。

Date 对象具有两个不创建 Date 对象就可以调用的静态方法。它们是 parse 和 UTC。


Date 对象

Date 对象
请参阅 		语言参考

new 运算符
var 语句


Date 对象方法

Date 对象
方法 		语言参考

Date.prototype 的成员
getDate 方法
getDay 方法
getFullYear 方法
getHours 方法
getMilliseconds 方法
getMinutes 方法
getMonth 方法
getSeconds 方法
getTime 方法
getTimezoneOffset 方法
getUTCDate 方法
getUTCDay 方法
getUTCFullYear 方法
getUTCHours 方法
getUTCMilliSeconds 方法
getUTCMinutes 方法
getUTCMonth 方法
getUTCSeconds 方法
getVarDate 方法
getYear 方法
setDate 方法
setFullYear 方法
setHours 方法
setMilliSeconds 方法
setMinutes 方法
setMonth 方法
setSeconds 方法
setTime 方法
setUTCDate 方法
setUTCFullYear 方法
setUTCHours 方法
setUTCMilliseconds 方法
setUTCMinutes 方法
setUTCMonth 方法
setUTCSeconds 方法
setYear 方法
toGMTString 方法
toLocaleString 方法
toUTCString 方法

toString 方法
valueOf 方法

Date.prototype 非成员
parse 方法
UTC 方法


Date 对象属性

Date 对象
属性 		语言参考

constructor 属性
prototype 属性


Dictionary 对象

Dictionary 对象 		Scripting 运行时库参考
版本 2

请参阅 方法 属性

描述
存储数据键和项目对的对象。
语法
y = new ActiveXObject("Scripting.Dictionary")
说明
Dictionary 对象等价于 PERL 联合数组。项目可以是数据的任何形式，并存储在数组中。每个项目都与一个具有唯一性的键相联。该键用于取得单个项目，并且通常是整数或字符串，但也可以是除数组以外的任何类型。

下面代码演示了如何创建 Dictionary 对象:

var y = new ActiveXObject("Scripting.Dictionary");
y.add ("a", "test");
if (y.Exists("a"))
  document.write("true");
...


Dictionary 对象

Dictionary 对象
请参阅 		Scripting 运行时库参考

FileSystemObject 对象
TextStream 对象


Dictionary 对象方法

Dictionary 对象
方法 		Scripting 运行时库参考

Add 方法 (Dictionary)
Exists 方法
Items 方法
Keys 方法
Remove 方法
RemoveAll 方法


Dictionary 对象属性

Dictionary 对象
属性 		Scripting 运行时库参考

Count 属性
Item 属性
Key 属性


Drive 对象

Drive 对象 		Scripting 运行时库参考
版本 3

请参阅 属性 方法

描述
提供对特定磁盘驱动器或网络共享属性的访问。
说明
下面的代码演示了如何用 Drive 对象访问驱动器属性：
function ShowFreeSpace(drvPath)
{
    var fso, d, s;
    fso = new ActiveXObject("Scripting.FileSystemObject");
    d = fso.GetDrive(fso.GetDriveName(drvPath));
    s = "Drive " + drvPath + " - " ;
    s += d.VolumeName + "<br>";
    s += "Free Space:" + d.FreeSpace/1024 + " Kbytes";
    return(s);
}


Drive 对象

Drive 对象
请参阅 		Scripting 运行时库参考

Drives 集合
File 对象
Files 集合
Folder 对象
Folders 集合
GetDrive 方法


Drive 对象

Drive 对象
方法 		Scripting 运行时库参考

Drive 对象没有方法。


Drive 对象

Drive 对象
属性 		Scripting 运行时库参考

AvailableSpace 属性
DriveLetter 属性
DriveType 属性
FileSystem 属性
FreeSpace 属性
IsReady 属性
Path 属性
RootFolder 属性
SerialNumber 属性
ShareName 属性
TotalSize 属性
VolumeName 属性


constructor 属性

constructor 属性 		语言参考
版本 2

请参阅 应用于

描述
表示创建对象的函数。
语法
object.constructor

必需的 object 参数是对象或函数的名称。

说明
constructor 属性是所有具有 prototype 的对象的成员。它们包括除 Global 和 Math 对象以外的所有 JScript 固有对象。constructor 属性保存了对构造特定对象实例的函数的引用。 例如：
x = new String("Hi");
if (x.constructor == String)
       // 进行处理（条件为真）。
或
function MyFunc {
    // 函数体。
}

y = new MyFunc;
if (y.constructor == MyFunc)
       // 进行处理（条件为真）。


constructor 属性

constructor 属性
应用于 		语言参考

Array 对象
Boolean 对象
Date 对象
Function 对象
Math 对象
Number 对象
Object 对象
String 对象


constructor 属性

constructor 属性
请参阅 		语言参考

prototype 属性


prototype 属性

prototype 属性 		语言参考
版本 2

请参阅 应用于

描述
返回对象类型原型的引用。
语法
objectname.prototype

objectname 参数是对象的名称。

说明
用 prototype 属性提供对象的类的一组基本功能。 对象的新实例“继承”赋予该对象原型的操作。

例如，要为 Array 对象添加返回数组中最大元素值的方法。 要完成这一点，声明该函数，将它加入 Array.prototype， 并使用它。

function array_max( )
{
  var i, max = this[0];
  for (i = 1; i < this.length; i++)
  {
     if (max < this[i])
         max = this[i];
  }
  return max;
}
Array.prototype.max = array_max;
var x = new Array(1, 2, 3, 4, 5, 6);
var y = x.max( );
该代码执行后，y 保存数组 x 中的最大值，或说 6。

所有 JScript 固有对象都有只读的 prototype 属性。可以象该例中那样为原型添加功能，但该对象不能被赋予不同的原型。然而，用户定义的对象可以被赋给新的原型。

本语言参考中每个内部对象的方法和属性列表指出哪些是对象原型的部分，哪些不是。


prototype 属性

prototype 属性
应用于 		语言参考

Array 对象
Boolean 对象
Date 对象
Function 对象
Number 对象
Object 对象
String 对象


prototype 属性

prototype 属性
请参阅 		语言参考

constructor 属性


toString 方法

toString 方法 		语言参考
版本 2

请参阅 应用于

描述
返回对象的字符串表示。
语法
objectname.toString([radix])

toString 方法语法有以下部分：

部分 | 描述
objectname | 必选项。要得到字符串表示的对象。
radix | 可选项。指定将数字值转换为字符串时的进制。

说明
toString 方法是所有内建的 JScript 对象的方法。它的操作依赖于对象的类型：

对象 | 操作
Array | 将 Array 的元素转换为字符串。结果字符串由逗号分隔，且连接起来。
Boolean | 如果 Boolean 值是 true，则返回 “true”。否则，返回 “false”
Function 返回按如下格式返回的字符串，其中 functionname 是被调用 toString 方法函数的名称：
function functionname( ) { [native code] }
Number | 返回数字的文字表示。
String | 返回 String 对象的值。
默认 | 返回 “[object objectname]”，其中 objectname 是对象类型的名称。

下面的例子演示了使用带有 radix 参数的 toString 方法：

function CreateRadixTable ()
{
  var s1, s2, s3, x;
  document.write("Hex    Dec   Bin<BR>");
  for (x = 0; x < 16; x++)
  {
    switch(x)
    {
      case 0 :
        s1 = "      ";
        s2 = "    ";
        s3 = "   ";
        break;
      case 1 :
        s1 = "      ";
        s2 = "    ";
        s3 = "   ";
        break;
      case 2 :
        s3 = "  ";
        break;
      case 3 :
        s3 = "  ";
        break;
      case 4 :
        s3 = " ";
        break;
      case 5 :
        s3 = " ";
        break;
      case 6 :
        s3 = " ";
        break;
      case 7 :
        s3 = " ";
        break;
      case 8 :
        s3 = "" ;
        break;
      case 9 :
        s3 = "";
        break;
      default:
        s1 = "     ";
        s2 = "";
        s3 = "    ";
    }
    document.write(" ", x.toString(16), s1, x.toString(10), s2, s3, x.toString(2), "<BR>");
  }
}


toString 方法

toString 方法
应用于 		语言参考

Array 对象
Boolean 对象
Function 对象
Number 对象
Object 对象
String 对象


toString 方法

toString 方法
请参阅 		语言参考

function 语句


valueOf 方法

valueOf 方法 		语言参考
版本 2

请参阅 应用于

描述
返回指定对象的原始值。
语法
object.valueOf( )

object 参数是任意 JScript 对象。

说明
每个 JScript 固有对象的 valueOf 方法定义不同。

对象 | 返回值
Array | 数组的元素被转换为字符串，这些字符串由逗号分隔，连接在一起。其操作与 Array.toString 和 Array.join 方法相同。
Boolean | Boolean 值。
Date | 存储的时间是从 1970 年 1 月 1 日开始计的毫秒数 UTC。
Function | 函数本身。
Number | 数字值。
Object | 对象本身。这是默认情况。
String | 字符串值。

Math 对象没有 valueOf 方法。


valueOf 方法

valueOf 方法
应用于 		语言参考

Array 对象
Boolean 对象
Date 对象
Function 对象
Number 对象
Object 对象
String 对象


valueOf 方法

valueOf 方法
请参阅 		语言参考

toString 方法


Enumerator 对象

Enumerator 对象 		语言参考
版本 3

请参阅 方法 属性

描述
启用枚举集合中的项目。
语法
new Enumerator(collection)

collection 参数是任何集合对象。

说明
集合与数组的不同点在于集合的成员不能直接访问。不象处理数组时使用下标，这时只能将当前项目指针移动到集合的下一或前一元素。

Enumerator 对象提供了访问集合的任何成员的方法，其操作与 VBScript 中的 For...Each 语句相似。

下面的代码显示了 Enumerator 对象的用法:

function ShowDriveList()
{
  var fso, s, n, e, x;
  fso = new ActiveXObject("Scripting.FileSystemObject");
  e = new Enumerator(fso.Drives);
  s = "";
  for (;!e.atEnd();e.moveNext())
    {
      x = e.item();
      s = s + x.DriveLetter;
      s += " - ";
      if (x.DriveType == 3)
        n = x.ShareName;
      else if (x.IsReady)
        n = x.VolumeName;
      else
        n = "[驱动器未就绪]";
      s +=  n + "<br>";
    }
  return(s);
}


Enumerator 对象

Enumerator 对象
请参阅 		语言参考

Drives 集合
Files 集合
Folders 集合


Enumerator 对象

Enumerator 对象
方法 		语言参考

atEnd 方法
item 方法
moveFirst 方法
moveNext 方法


Enumerator 对象

Enumerator 对象
属性 		语言参考

Enumerator 对象没有属性。


Error 对象

Error 对象 		语言参考
版本 5

请参阅 属性

描述
保存有关错误的信息。
语法
var newErrorObj = new Error()
var newErrorObj = new Error(number)
var newErrorObj = new Error(number, description)

Error 对象的构造函数语法有以下部分：

部分 | 描述
number | 与错误相联的数字值。如果省略则为零。
description | 描述错误的简短字符串。如果省略则为空字符串。

说明
每当产生运行时错误，就产生 Error 对象的一个实例以描述错误。该实例有两个固有属性保存错误的描述（description 属性）和错误号（number 属性）。

错误号是 32 位的值。高 16 位字是设备代码，而低字是实际的错误代码。

Error 对象也可以用如上所示的语法显式创建，或用 throw 语句抛掉。在两种情况下，都可以添加选择的任何属性，以拓展 Error 对象的能力。

典型地，在 try...catch 语句中创建的局部变量引用隐式创建的 Error 对象。因此，可以按选择的任何方法使用错误号和描述。

下面的例子演示了隐式创建 Error 对象的使用：

try
 { x = y                		     // 产生错误。
}catch(e){              		     // 创建局部变量 e。
  response.write(e)                  // 打印 "[object Error]".
  response.write(e.number & 0xFFFF)  // 打印 5009。
  response.write(e.description)      // 打印 "'y' is undefined".
}


Error 对象

Error 对象
请参阅 		语言参考

new 运算符
throw 语句
try...catch 语句
var 语句


Error 对象

Error 对象
属性 		语言参考

description 属性
number 属性


File 对象

File 对象 		Scripting 运行时库参考
版本 3

请参阅 属性 方法

描述
提供对文件所有属性的访问。
说明
下面的代码演示了如何获得 File 对象以及如何查看它的一个属性。
function ShowFileInfo(filespec)
{
  var fso, f, s;
  fso = new ActiveXObject("Scripting.FileSystemObject");
  f = fso.GetFile(filespec);
  s = f.DateCreated;
  return(s);
}


File 对象

File 对象
请参阅 		Scripting 运行时库参考

Drive 对象
Drives 集合
Files 集合
Folder 对象
Folders 集合


File 对象

File 对象
方法 		Scripting 运行时库参考

Copy 方法
Delete 方法
Move 方法
OpenAsTextStream 方法


File 对象

File 对象
属性 		Scripting 运行时库参考

Attributes 属性
DateCreated 属性
DateLastAccessed 属性
DateLastModified 属性
Drive 属性
Name 属性
ParentFolder 属性
Path 属性
ShortName 属性
ShortPath 属性
Size 属性
Type 属性


FileSystemObject 对象

FileSystemObject 对象 		Scripting 运行时库参考
版本 2

请参阅 方法 属性

描述
提供对计算机文件系统的访问。
语法
y = new ActiveXObject("Scripting.FileSystemObject")
说明
下面的代码演示了如何用 FileSystemObjext 返回可用于读或写的 TextStream 对象：
var fso = new ActiveXObject("Scripting.FileSystemObject");
var a = fso.CreateTextFile("c:\\testfile.txt", true);
a.WriteLine("This is a test.");
a.Close();
在该例子代码中，ActiveXObject 对象被赋给 FileSystemObject (fso)。随后 CreateTextFile 方法创建文件 TextStream 对象 (a)，并用 WriteLine 方法将一行文本写入创建的文本文件。Close 方法刷新缓冲区并关闭该文件。


FileSystemObject 对象

FileSystemObject 对象
请参阅 		Scripting 运行时库参考

Dictionary 对象
Drive 对象
Drives 集合
File 对象
Files 集合
Folder 对象
Folders 集合
TextStream 对象


FileSystemObject 对象方法

FileSystemObject 对象
方法 		Scripting 运行时库参考

BuildPath 方法
CopyFile 方法
CopyFolder 方法
CreateFolder 方法
CreateTextFile 方法
DeleteFile 方法
DeleteFolder 方法
DriveExists 方法
FileExists 方法
FolderExists 方法
GetAbsolutePathName 方法
GetBaseName 方法
GetDrive 方法
GetDriveName 方法
GetExtensionName 方法
GetFile 方法
GetFileName 方法
GetFolder 方法
GetParentFolderName 方法
GetSpecialFolder 方法
GetTempName 方法
MoveFile 方法
MoveFolder 方法
OpenTextFile 方法


FileSystemObject 对象属性

FileSystemObject 对象
属性 		Scripting 运行时库参考

Drives 属性


Folder 对象

Folder 对象 		Scripting 运行时库参考
版本 3

请参阅 属性 方法

描述
提供对文件夹的所有属性的访问。
说明
下面的代码演示了如何获得 Folder 对象并返回它的一个属性：
function ShowFolderInfo(folderspec)
{
  var fso, folder, s;
  fso = new ActiveXObject("Scripting.FileSystemObject");
  folder = fso.GetFolder(folderspec);
  s = folder.DateCreated;
  return(s);
}


Folder 对象

Folder 对象
请参阅 		Scripting 运行时库参考

Drive 对象
Drives 集合
File 对象
Files 集合
Folders 集合


Folder 对象

Folder 对象
方法 		Scripting 运行时库参考

Copy 方法
Delete 方法
Move 方法
OpenAsTextStream 方法


Folder 对象

Folder 对象
属性 		Scripting 运行时库参考

Attributes 属性
DateCreated 属性
DateLastAccessed 属性
DateLastModified 属性
Drive 属性
Files 属性
IsRootFolder 属性
Name 属性
ParentFolder 属性
Path 属性
ShortName 属性
ShortPath 属性
Size 属性
SubFolders 属性
Type 属性


Function 对象

Function 对象 		语言参考
版本 2

请参阅 方法 属性

描述
创建新的函数。
语法 1
function functionname( [argname1 [, ... argnameN]] )
{
body
}
语法 2
var functionname = new Function( [argname1, [... argnameN,]] body );

Function 对象语法有以下部分：

部分 | 描述
functionname | 最新创建函数的名称
argname1...argnameN | 可选的函数接收的参数列表。
body | 包含调用该函数时被执行的 JScript 代码块的字符串。

说明
函数 JScript 中的基本数据类型。语法 1 创建在必要时由 JScript 转换为 Function 对象的函数值。JScript 在调用函数时将用语法 2 创建的函数转换为 Fnction 对象。

语法 1 是 JScript 中创建函数的基本方法。语法 2 是用于显式创建函数对象的另一方法。

例如，要创建将传递给它的两个参数相加的函数，可以用两种方法中的任一种完成：

例子 1
function add(x, y)
{
   return(x + y);
}
例子 2
var add = new Function("x", "y", "return(x+y)");
在两种情况下，都可以用如下代码行调用该函数：
add(2, 3);
注意 在调用函数时，请确保包含了括号和必需的参数。调用函数时不用括号导致返回函数的文本而不是函数执行的结果。


Function 对象

Function 对象
请参阅 		语言参考

function 语句
new 运算符
var 语句


Function 对象方法

Function 对象
方法 		语言参考

Function.prototype 的成员
toString 方法
valueOf 方法
Function.prototype 的非成员
Function 对象没有不是 prototype 的部分的方法。


Function 对象属性

Function 对象
属性 		语言参考

Function.prototype 的成员
arguments 属性
caller 属性

constructor 属性

Function.prototype 的非成员
prototype 属性


Global 对象

Global 对象 		语言参考
版本 3

请参阅 方法 属性

描述
是一个固有对象，目的是把所有全局方法集中在一个对象中。
语法
Global 对象没有语法。直接调用其方法。
说明
Global 对象从不直接使用，并且不能用 new 运算符创建。它在 Scripting 引擎被初始化时创建，并立即使其方法和属性可用。


Global 对象

Global 对象
请参阅 		语言参考

Object 对象


Global 对象

Global 对象
方法 		语言参考

escape 方法
eval 方法
isFinite 方法
isNaN 方法
parseFloat 方法
parseInt 方法
unescape 方法


Global 对象

Global 对象
属性 		语言参考

Infinity 属性
NaN 属性


Math 对象

Math 对象 		语言参考
版本 1

请参阅 方法 属性

描述
是一个固有对象，提供基本数学函数和常数。
语法
Math[.{property | method}]
说明
Math 对象不能用 new 运算符创建，如果试图这样做则给出错误。该对象在装载脚本引擎时由该引擎创建。其所有方法和属性在脚本中总是可用。


Math 对象

Math 对象
请参阅 		语言参考

Number 对象


Math 对象方法

Math 对象
方法 		语言参考

Math.prototype 的成员
Math 对象没有 prototype 部分的成员。
Math.prototype 的非成员
abs 方法
acos 方法
asin 方法
atan 方法
atan2 方法
ceil 方法
cos 方法
exp 方法
floor 方法
log 方法
max 方法
min 方法
pow 方法
random 方法
round 方法
sin 方法
sqrt 方法
tan 方法


Math 对象属性

Math 对象
属性 		语言参考

E 属性
LN2 属性
LN10 属性
LOG2E 属性
LOG10E 属性
PI 属性
SQRT1_2 属性
SQRT2 属性


Number 对象

Number 对象 		语言参考
版本 2

请参阅 方法 属性

描述
代表数值数据类型和提供数值常数的对象。
语法
new Number( value )

value 参数是对象的数字值。

说明
JScript 根据数字值的要求创建 Number 对象。 很少有必要显式创建 Number 对象。

Number 对象最主要的用途是将其属性集中到一个对象中，以及使数字能够通过 toString 方法转换为字符串。


Number 对象

Number 对象
请参阅 		语言参考

Math 对象
new 运算符


Number 对象方法

Number 对象
方法 		语言参考

Number.prototype 的成员
toString 方法
valueOf 方法
Number.prototype 的非成员
Number 对象没有不是 prototype 部分的成员。


Number 对象属性

Number 对象
属性 		语言参考

Number.prototype 的成员
MAX_VALUE 属性
MIN_VALUE 属性
NaN 属性
NEGATIVE_INFINITY 属性
POSITIVE_INFINITY 属性

constructor 属性

Number.prototype 的非成员
prototype 属性


Object 对象

Object 对象 		语言参考
版本 3

请参阅 方法 属性

描述
提供所有 JScript 对象通用的功能。
语法
new Object([value])

可选的 value 参数用于将基本数据类型（number、Boolean、string 或 function）转换为对象。如果省略它，则产生没有内容的对象。

说明
Object 对象被包含在所有其它 JScript 对象中--在所有其它对象中它的方法和属性都是可用的。在用户定义的对象中可以重定义这些方法，并在适当的时候通过 JScript 调用。toString 方法是经常被重定义的 Object 方法的例子。

在本语言参考中，每个 Object 方法的说明包括默认的和与对象相关固有 JScript 对象的实现信息。


Object 对象

Object 对象
请参阅 		语言参考

Function 对象
Global 对象


Object 对象

Object 对象
方法 		语言参考

Object.prototype 的成员
toString 方法
valueOf 方法

Object.prototype 的非成员
Object 对象没有不是 prototype 的部分的方法。


Object 对象

Object 对象
属性 		语言参考

Object.prototype 的成员
prototype 属性
constructor 属性

Object.prototype 的非成员
Object 对象没有不是 prototype 的部分的属性。


RegExp 对象

RegExp 对象 		语言参考
版本 3

请参阅 方法 属性

描述
保存用于正则表达式模式查找的信息。
语法
RegExp.propertyname

propertyname 参数是 RegExp 对象的一个属性。

说明
RegExp 对象不能直接创建，但始终可以使用。在完成成功的正则表达式查找完成之前其属性的值一直为 undefined。

下面的例子演示了 RegExp 对象的用法：

function matchDemo()
{
  var s;
  var re = new RegExp("d(b+)(d)","ig");
  var str = "cdbBdbsbdbdz";
  var arr = re.exec(str);
  s = "$1 保存: " + RegExp.$1 + "<BR>";
  s += "$2 保存: " + RegExp.$2 + "<BR>";
  s += "$3 保存: " + RegExp.$3;
  return(s);
}


RegExp 对象

RegExp 对象
请参阅 		语言参考

正则表达式对象
正则表达式语法
String 对象


RegExp 对象

RegExp 对象
方法 		语言参考

RegExp 对象没有方法。


RegExp 对象

RegExp 对象
属性 		语言参考

$1...$9 属性
index 属性
input 属性
lastIndex 属性


正则表达式对象

正则表达式对象 		语言参考
版本 3

请参阅 方法 属性

描述
保存正则表达式模式。
语法 1
var regularexpression = /pattern/[switch]
语法 2
var regularexpression = new RegExp("pattern",["switch"])

正则表达式对象语法有以下部分：

部分 | 描述
pattern | 必选项。要使用的正则表达式模式。如果使用语法 1，用 "/" 字符分隔模式。如果用语法 2，用引号将模式引起来。
switch 可选项。如果使用语法 2 要用引号将 switch 引起来。可选的开关选项有：
  • i （忽略大小写）
  • g （全文查找出现的所有 pattern）
  • gi （全文查找、忽略大小写）

    • 说明
    正则表达式对象保存用于查找字符串中的字符组合时的模式。创建正则表达式对象后，或者它被传递给字符串方法，或者字符串被传递给一个正则表达式方法。有关最近进行查找的信息被保存在 RegExp 对象中。

    当预先知道查找字符串时用语法 1。当查找字符串经常变动或不知道时用语法 2，比如由用户输入得到的字符串。

    在使用前 pattern 参数被编译为内部格式。对语法 1 来说，pattern 在该脚本被装载时被编译。对语法 2 来说，pattern 在使用前，或调用 compile 方法时被编译。


正则表达式对象

正则表达式对象
请参阅 		语言参考

RegExp 对象
正则表达式语法
String 对象


正则表达式对象

正则表达式对象
方法 		语言参考

compile 方法
exec 方法
test 方法


正则表达式对象

正则表达式对象
属性 		语言参考

lastIndex 属性
source 属性


String 对象

String 对象 		语言参考
版本 1

请参阅 方法 属性

描述
可用于处理或格式化文本字符串以及确定和定位字符串中的子字符串。
语法
StringObj[.method]
"String Literal"[.method]
说明
String 对象可用字符串文字显式创建。用这种方法创建的 String 对象（指以标准字符串形式）与用 new 运算符创建的 String 对象处理上不同。所有字符串文字共享公用的全局字符串对象。所以，如果为字符串文字添加属性，则它对所有标准字符串对象都是可用的：
var alpha, beta;
alpha = "这是一个字符串";
beta = "这也是一个字符串";

alpha.test = 10;

在本例中，这时为 beta 和所有将来的字符串定义 test。然而，在下面的例子中，被添加属性的处理略有不同：

var gamma, delta;
gamma = new String("这是一个字符串");
delta = new String("这是也一个字符串");

gamma.test = 10;
在这种情况下，不为 delta 定义 test。每个用 new String 声明的 String 对象有其自己的一组成员。这是对 String 对象和字符串文字的处理不同的唯一情况。


String 对象

String 对象
请参阅 		语言参考

new 运算符


String 对象方法

String 对象
方法 		语言参考

String.prototype 的成员
anchor 方法
big 方法
blink 方法
bold 方法
charAt 方法
charCodeAt 方法
concat 方法
fixed 方法
fontcolor 方法
fontsize 方法
fromCharCode 方法
indexOf 方法
italics 方法
lastIndexOf 方法
link 方法
match 方法
replace 方法
search 方法
slice 方法
small 方法
split 方法
strike 方法
sub 方法
substr 方法
substring 方法
sup 方法
toLowerCase 方法
toUpperCase 方法

toString 方法
valueOf 方法

String.prototype 的非成员
String 对象没有不是 prototype 的部分的方法。


String 对象属性

String 对象
属性 		语言参考

String.prototype 的成员
constructor 属性
String.prototype 的非成员
length 属性
prototype 属性


TextStream 对象

TextStream 对象 		Scripting 运行时库参考
版本 2

请参阅 方法 属性

描述
方便对文件的顺序访问。
语法
TextStream.{property | method( )}

property 和 method 参数可以是与 TextStream 对象相连的任何属性和方法。请注意在实际使用时，TextStream 被从 FileSystemObject 返回的代表 TextStream 对象的变量占位符代替。

说明
在下面的代码中，a 是由 FileSystemObject 的 CreateTextFile 方法返回的 TextStream 对象：
var fso = new ActiveXObject("Scripting.FileSystemObject");
var a = fso.CreateTextFile("c:\\testfile.txt", true);
a.WriteLine("这是一个测试。");
a.Close();
WriteLine 和 Close 是 TextStream 对象的两个方法。


TextStream 对象

TextStream 对象
请参阅 		Scripting 运行时库参考

Dictionary 对象
FileSystemObject 对象


TextStream 对象

TextStream 对象
方法 		Scripting 运行时库参考

Close 方法
Read 方法
ReadAll 方法
ReadLine 方法
Skip 方法
SkipLine 方法
Write 方法
WriteBlankLines 方法
WriteLine 方法


TextStream 对象

TextStream 对象
属性 		Scripting 运行时库参考

AtEndOfLine 属性
AtEndOfStream 属性
Column 属性
Line 属性


VBArray 对象

VBArray 对象 		语言参考
版本 3

请参阅 方法 属性

描述
提供对 Visual Basic 安全数组的访问。
语法
new VBArray(safeArray)

safeArray 是 VBArray 值。

说明
VBArrays 是只读的，并且不能被直接创建。在传递给 VBArray 构造函数之前 safeArray 参数必须已获得 VBArray 值。这只能通过从已有的 ActiveX 或其它对象获得值才能做到。

VBArrays 可以有多维。每一维的下标可以不一样。dimensions 方法取得数组的维数；lbound 和 ubound 方法取得每个维的下标范围。

下面的例子由三部分组成。第一部分是创建 Visual Basic 安全数组的 VBScript 代码。第二部分是将 VB 安全数组转换为 JScript 数组的 JScript 代码。这两部分都放到 HTML 页的 <HEAD> 节中。第三部分是放在 <BODY> 节中以运行其它两部分的 JScript 代码。

<HEAD>
<SCRIPT LANGUAGE="VBScript">
<!--
Function CreateVBArray()
  Dim i, j, k
  Dim a(2, 2)
  k = 1
  For i = 0 To 2
    For j = 0 To 2
      a(j, i) = k
      document.writeln(k)
      k = k + 1
    Next
    document.writeln("<BR>")
  Next
  CreateVBArray = a
End Function
-->
</SCRIPT>
<SCRIPT LANGUAGE="JScript">
<!--
function VBArrayTest(vbarray)
{
  var a = new VBArray(vbarray);
  var b = a.toArray();
  var i;
  for (i = 0; i < 9; i++)
  {
    document.writeln(b[i]);
  }
}
-->
</SCRIPT>
</HEAD>
<BODY>
<SCRIPT LANGUAGE="JScript">
<!--
  VBArrayTest(CreateVBArray());
-->
</SCRIPT>
</BODY>


VBArray 对象

VBArray 对象
请参阅 		语言参考

Array 对象


VBArray 对象

VBArray 对象
方法 		语言参考

dimensions 方法
getItem 方法
lbound 方法
toArray 方法
ubound 方法


VBArray 对象

VBArray 对象
属性 		语言参考

VBArray 对象没有属性。


运算符优先级

运算符优先级 		语言参考
版本 1

JScript 中的运算符按特定顺序求值。该顺序被称作运算符优先级。下表按最高到最低优先级顺序列出了所有运算符。在表达式中具有相同优先级的运算符按从左到右顺序求值。

运算符 | 描述
. [] () 域访问、数组下标和函数调用
++ -- - ~ ! delete new typeof void | 一元运算符、返回数据类型、对象创建、未定义的值
* / % 乘、除、取模
+ - + 加、减、字符串连接
<< >> >>> 位移动
< <= > >= instanceof | 小于、小于等于、大于、大于等于、instanceof
== != === !== 相等、不相等、恒等、不恒等
& 按位“与”
^ 按位“异或”
| 按位“或”
&& 逻辑“与”
|| 逻辑“或”
?: 条件
= oP= | 赋值、带操作的赋值
, 多重求值

括号可用于改变求值的顺序。括号中的表达式在语句的剩余部分用到其值之前被完全求值。

具有较高优先级的运算符在较低优先级的之前被求值。例如：

z = 78 * (96 + 3 + 45)

该表达式中有五个运算符：=、*、()、+ 和 +。按优先级，它们按如下顺序被求值：()、*、+、+、=。

  1. 括号中的表达式首先被求值： 其中有两个加法运算符，它们具有相同的优先级：96 和 3 被加在一起，然后 45 被加到总和中，得到值为 144 的结果。
  2. 随后是乘法：78 乘以 144 ，得到值为 10998 的结果。
  3. 最后是赋值：11232 被赋给 z。


加法运算符 (+)

+ 运算符 		语言参考
版本 1

请参阅

描述
用于求两个数字的和或进行字符串连接。
语法
result = expression1 + expression2

+ 运算符语法有以下部分：

部分 | 描述
result | 任何变量。
expression1 | 任何表达式。
expression2 | 任何表达式。

说明
表达式中加下划线的子类型决定 + 运算符的操作。

如果 | 那么
两个表达式都是数字或 Boolean 量 | 加。
两个表达式都是字符串 | 连接。
一个表达式是数字而另一个是字符串 | 连接。

有关 + 运算符何时会产生运行时错误的信息，请参见运算符操作表。


加法运算符 (+)

+ 运算符
请参阅 		语言参考

+= 运算符
运算符操作
运算符优先级
运算符总结


加法赋值运算符 (+=)

+= 运算符 		语言参考
版本 1

请参阅

描述
用于将变量增加指定的量。
语法
result += expression

+= 运算符语法有以下部分：

部分 | 描述
result | 任何变量。
expression | 任何表达式。

说明
使用本运算符与这样指定完全相同：
result = result + expression
表达式中加下划线的子类型决定 += 运算符的操作。

如果 | 那么
两个表达式都是数字或 Boolean 量 | 加。
两个表达式都是字符串 | 连接。
一个表达式是数字而另一个是字符串 | 连接。

有关 + 运算符何时会产生运行时错误的信息，请参见运算符操作表。


加法赋值运算符 (+=)

+= 运算符
请参阅 		语言参考

+ 运算符
运算符操作
运算符优先级
运算符总结


复合赋值运算符

复合赋值运算符 		语言 参考

加法 (+=)
按位“与” (&=)
按位“或” (|=)
按位“异或” (^=)
除法 (/=)
左移 (<<=)
取余 (%=)
乘法 (*=)
右移 (>>=)
减法 (-=)
无符号右移 (>>>=)


逻辑“与”运算符 (&&)

&& 运算符 		语言参考
版本 1

请参阅

描述
两个表达式执行逻辑联合。
语法
result = expression1 && expression2

&& 运算符的语法组成部分如下：

部分 | 描述
result | 任何变量.
expression1 | 任何表达式.
expression2 | 任何表达式。

说明
当且仅当两个表达式的值都等于 True 时， result 才是 True。如果任一表达式的值等于 False， 则 result 为 False。

关于 && 运算符何时产生运行时错误，请参阅运算符操作表。

JScript 使用下面的规则，来把非 Boolean 值转换为 Boolean 值：

  • 所有对象都被认为是 true。
  • 字符串当且仅当为空时被认为是 false。
  • null 和 undefined 被认为是 false。
  • 数字当且仅当为零时是 false。


逻辑“与”运算符 (&&)

&& 运算符
请参阅 		语言参考

运算符操作
运算符优先级
运算符总结


赋值运算符 (=)

= 运算符 		语言参考
版本 1

请参阅

描述
给变量赋值
`语法
result = expression

= 运算符的语法组成部分如下：

部分 | 描述
result | 任何变量。
expression | 任何数值表达式.

说明
= 运算符和其他运算符一样，除了把值赋给变量外，使用它的表达式还有一个值。这就意味着可以象下面这样把赋值操作连起来写：
j = k = l = 0;
执行完该例子语句后，j、k、和 l 的值都等于零。


赋值运算符 (=)

= 运算符
请参阅 		语言参考

复合赋值运算符
运算符操作
运算符优先级
运算符总结


按位“与”赋值运算符 (&=)

&= 运算符 		语言参考
版本 1

请参阅

描述
用来对表达式执行按位“与”
语法
result &= expression

&= 运算符的语法组成部分如下：

部分 | 描述
result | 任何变量.
expression | 任何表达式.

说明
使用该运算符和使用下面的语句是等效的:
result = result & expression
&= 运算符查看 result 和 expression 的二进制表示法的值,并对其执行按位“与”操作。该操作的输出如下所示：
0101    (result)
1100    (expression)
----
0100    （输出）
任何时候，只要两个表达式在某一位上都是 1，则结果的该位也是 1。否则，结果的该位是 0。

关于 &= 运算符在何时产生运行时错误的信息，请参阅运算符操作表。


按位“与”赋值运算符 (&=)

&= 运算符
请参阅 		语言参考

& 运算符
运算符操作
运算符优先级
运算符总结


按位“或”赋值运算符 (|=)

|= 运算符 		语言参考
版本 1

请参阅

描述
用来对一个表达式执行按位“或”。
语法
result |= expression

|= 运算符的语法组成部分如下：

部分 | 描述
result | 任何变量。
expression | 任何表达式。

说明
使用该运算符和使用下面的语句是等效的：
result = result | expression
|= 运算符查看 result 和 expression 的二进制表示法的值，并执行按位“或”操作。该操作的结果如下所示：
0101    (result)
1100    (expression)
----
1101    (输出)
任何时候，只要两个表达式中的其中一个的某位是 1，则结果的该位是 1。否则，结果的该位是 0。

关于 |= 运算符在何时产生运行时错误的信息，请参阅运算符操作表。


按位“或”赋值运算符 (|=)

|= 运算符
请参阅 		语言参考

| 运算符
运算符操作
运算符优先级
运算符总结


按位“与”运算符 (&)

& 运算符 		语言参考
版本 1

请参阅

描述
对两个表达式执行按位“与”。
语法
result = expression1 & expression2

& 运算符的语法组成部分如下：

部分 | 描述
result | 任何变量。
expression1 | 任何表达式。
expression2 | 任何表达式。

说明
& 运算符查看两个表达式的二进制表示法的值，并执行按位“与”操作。该操作的结果如下所示：
0101    (expression1)
1100    (expression2)
----
0100    (result)
任何时候，只要两个表达式的某位都为 1，则结果的该位为 1。否则，结果的该位为 0。

关于 & 运算符何时产生运行时错误的信息，请参阅运算符操作表。


按位“与”运算符 (&)

& 运算符
请参阅 		语言参考

&= 运算符
运算符操作
运算符优先级
运算符总结


按位“非”运算符 (~)

~ 运算符 		语言参考
版本 1

请参阅

描述
对一个表达式执行按位“非”（取反）。
语法
result = ~ expression

~ 运算符的语法组成部分如下：

部分 | 描述
result | 任何变量。
expression | 任何表达式。

说明
所有一元运算符，如 ~ 运算符，以如下规则来求表达式的值：
  • 如果将它用于 undefined 或 null 表达式，则产生一个运行时错误。
  • 对象被转换成字符串。
  • 如果可能，字符串被转换为数字。如果不能，则产生一个运行时错误。
  • Boolean 值被当作数字（如果是 false 则为 0，如果是 true 则为 1）。
用该运算符来生成数字。

~ 运算符查看表达式的二进制表示法的值，并执行按位非操作。该操作的结果如下所示：

0101    (expression)
----
1010    (result)
表达式中的任何一位为 1，则在结果中相应位变为 0。表达式中的任何一位为 0，则在结果中相应位变为 1。


按位“非”运算符 (~)

~ 运算符
请参阅 		语言参考

! 运算符
运算符操作
运算符优先级
运算符总结


按位“或”运算符 (|)

| 运算符 		语言参考
版本 1

请参阅

描述
对两个表达式执行按位“或”
语法
result = expression1 | expression2

| 运算符的语法组成部分如下：

部分 | 描述
result | 任何变量。
expression1 | 任何表达式。
expression2 | 任何表达式。

说明
| 运算符查看两个表达式的二进制表示法的值，并执行按位“或”操作。该操作的结果如下所示：
0101    (expression1)
1100    (expression2)
----
1101    (结果)
任何时候，只要任一表达式的一位为 1，则结果的该位为 1。否则，结果的该位为 0。

关于 | 运算符何时产生运行时错误的信息，请参阅运算符操作表。


按位“或”运算符 (|)

| 运算符
请参阅 		语言参考

|= 运算符
运算符操作
运算符优先级
运算符总结


逗号运算符 (,)

, 运算符 		语言参考
版本 1

请参阅

描述
顺序执行两个表达式。
语法
expression1, expression2

, 运算符的语法组成部分如下：

部分 | 描述
expression1 | 任何表达式。
expression2 | 任何表达式。

说明
, 运算符使它两边的表达式以从左到右的顺序被执行，并获得右边表达式的值。, 运算符最普通的用途是在 for 循环的递增表达式中使用。例如：
for (i = 0; i < 10; i++, j++)
{
  k = i + j;
}
每次通过循环的末端时， for 语句只允许单个表达式被执行。, 运算符被用来允许多个表达式被当作单个表达式，从而规避该限制。


逗号运算符(,)

, 运算符
请参阅 		语言参考

for 语句
运算符操作
运算符优先级
运算符总结


条件（三目）运算符 (?:)

?: 运算符 		语言参考
版本 1

请参阅

描述
根据条件执行两个表达式中的其中一个。
语法
test ? 表达式1 : 表达式2

?: 运算符的语法组成部分如下：

部分 | 描述
test | 任何 Boolean 表达式。
表达式1 | 当 test 是 true 时执行的表达式。
表达式2 | 当 test 是 false 时执行的表达式。

说明
?: 运算符是 if...else 语句的快捷方式。它通常被用作较大表达式的一部分，而在此处使用 if...else 语句是不协调的。例如：
var now = new Date();
var greeting = "Good" + ((now.getHours() > 17) ? " evening." : " day.");
在该例子中，如果是 6pm 以后，则创建一个包含 "Good evening." 的字符串。使用 if...else 语句的等效代码如下：
var now = new Date();
var greeting = "Good";
if (now.getHours() > 17)
   greeting += " evening.";
else
   greeting += " day.";


条件（三元）运算符 (?:)

?: 运算符
请参阅 		语言参考

if...else 语句
运算符操作
运算符优先级
运算符总结


delete 运算符

delete 运算符 		语言参考
版本 3

请参阅

描述
从对象中删除一个属性，或从数组中删除一个元素。
语法
delete expression

其中 expression 是一个有效的 JScript 表达式，通常（但不是必须）是一个属性名或数组元素。

说明
如果 expression 的结果是一个对象，且在 expression 中指定的属性存在，而该对象又不允许它被删除，则返回 false。

在所有其他情况下，返回 true。


delete 运算符

delete 运算符
请参阅 		语言参考

运算符操作
运算符优先级
运算符总结


除法赋值运算符 (/=)

/= 运算符 		语言参考
版本 1

请参阅

描述
用表达式来除变量。
语法
result /= expression

/= 运算符的语法组成部分如下：

部分 | 描述
result | 任何数值变量。
expression | 任何数值表达式。

说明
使用 /= 运算符和使用下面的语句是等效的：
result = result / expression
关于 /= 运算符何时产生运行时错误的信息，请参阅运算符操作表。


除法赋值运算符 (/=)

/= 运算符
请参阅 		语法参考

/ 运算符
运算符操作
运算符优先级
运算符总结


除法运算符 (/)

/ 运算符 		语言参考
版本 1

请参阅

描述
两个数相除并返回数值结果。
语法
result = number1 / number2

/ 运算符的语法组成部分如下：

部分 | 描述
result | 任何数值变量。
number1 | 任何数值表达式。
number2 | 任何数值表达式。

说明
关于 / 运算符何时产生运行时错误的信息， 请参阅运算符操作表。


除法运算符 (/)

/ 运算符
请参阅 		语言参考

/= 运算符
运算符操作
运算符优先级
运算符总结


递增 (++) 和递减 (--) 运算符

++ 和 -- 运算符 		语言参考
版本 1

请参阅

描述
把变量递增一或递减一。
语法 1
result = ++variable
result = --variable
result = variable++
result = variable--
语法 2
++variable
--variable
variable++
variable--

++ 和 -- 运算符的语法组成部分如下：

部分 | 描述
result | 任何变量。
variable | 任何变量。

说明
递增和递减运算符，是修改存在变量中的值的快捷方式。包含其中一个这种运算符的表达式的值，依赖于该运算符是在变量前面还是在变量后面：
var j, k;
k = 2;
j = ++k;
因为递增发生在表达式被求值前，所以值 3 赋给了 j。

和下面的例子对照：

var j, k;
k = 2;
j = k++;
在此，因为递增发生在表达式被求值后，所以值 2 赋给了 j。


递增 (++) 和递减 (--) 运算符

++ 和 -- 运算符
请参阅 		语言参考

运算符操作
运算符优先级
运算符总结


instanceof 运算符

instanceof 运算符 		语言参考
版本 5

请参阅

描述
返回一个 Boolean 值，指出对象是否是特定类的一个实例。
语法
result = object instanceof class

instanceof 运算符的语法组成部分如下：

部分 | 描述
result | 任何变量。
object | 任何对象表达式。
class | 任何已定义的对象类。

说明
如果 object 是 class 的一个实例，则 instanceof 运算符返回 true。如果 object 不是指定类的一个实例，或者 object 是 null，则返回 false。

下面的例子举例说明了 instanceof 运算符的用法：

function objTest(obj)
{
  var i, t, s = "";            // 创建变量。
  t = new Array();             // 创建一个数组。
  t["Date"] = Date;            // 充填数组。
  t["Object"] = Object;
  t["Array"] = Array;
    for (i in t)
    {
      if (obj instanceof t[i]) // 检查 obj 的类。
      {
        s += "obj is an instance of " + i + "\n";
      }
      else
      {
        s += "obj is not an instance of " + i + "\n";
      }
  }
  return(s);                   // 返回字符串。
}

var obj = new Date();
response.write(objTest(obj));


instanceof 运算符

instanceof 运算符
请参阅 		语言参考

运算符优先级
运算符总结


运算符总结

运算符总结 		语言参考
版本 1

计算型
加法 (+)
递减 (--)
除法 (/)
递增 (++)
取余 (%)
乘法 (*)
减法 (-)
一元取负 (-)
逻辑型
逗号 (,)
条件（三元） (?:)
相等 (==)
大于 (>)
大于等于 (>=)
恒等 (===)
不相等 (!=)
小于 (<)
小于等于 (<=)
逻辑“与” (&&)
逻辑“非” (!)
逻辑“或” (||)
不恒等 (!==)
按位型
按位“与” (&)
按位左移 (<<)
按位“非” (~)
按位“或” (|)
按位右移 (>>)
按位“异或” (^)
无符号右移 (>>>)
赋值型
赋值 (=)
复合赋值运算符
杂项
delete
instanceof
new
typeof
void


左移赋值运算符 (<<=)

<<= 运算符 		语言参考
版本 1

请参阅

描述
用来把表达式的所有位向左移
语法
result <<= expression

<<= 运算符的语法组成部分如下：

部分 | 描述
result | 任何变量。
expression | 任何表达式。

说明
使用 <<= 运算符与使用下面的语句是等效的：
result = result << expression
<<= 运算符把 result 的所有位向左移动 expression 所指定的位数。例如：
var temp
temp = 14
temp <<= 2
变量 temp 的值是 56，因为 14 （即二进制的 00001110）左移两位等于 56 （即二进制的 00111000）。在移动时用零来填充右边空出的位。

关于 <<= 运算符何时产生运行时错误的信息，请参阅运算符操作表。


左移赋值运算符 (<<=)

<<= 运算符
请参阅 		语言参考

<< 运算符
>> 运算符
>>> 运算符
运算符操作
运算符优先级
运算符总结


按位左移运算符 (<<)

<< 运算符 		语言参考
版本 1

请参阅

描述
把一个表达式的所有位向左移。
语法
result = expression1 << expression2

<< 运算符的语法组成部分如下：

部分 | 描述
result | 任何变量。
expression1 | 任何表达式。
expression2 | 任何表达式。

说明
<< 运算符把 expression1 的所有位向左移 expression2 指定的位数。例如：
var temp
temp = 14 << 2
变量 temp 的值为 56，因为 14 （即二进制的 00001110）向左移两位等于 56 （即二进制的 00111000）。

关于 << 运算符何时产生运行时错误的信息，请参阅运算符操作表。


按位左移运算符 (<<)

<< 运算符
请参阅 		语言参考

<<= 运算符
>> 运算符
>>> 运算符
运算符操作
运算符优先级
运算符总结


取余运算符 (%)

% 运算符 		语言参考
版本 1

请参阅

描述
两个数相除并返回余数。
语法
result = number1 % number2

% 运算符的语法组成部分如下：

部分 | 描述
result | 任何变量。
number1 | 任何数值表达式。
number2 | 任何数值表达式。

说明
取余（或余数）运算符用 number1 除以 number2 （把浮点数四舍五入为整数），然后只返回余数作为 result。例如，在下面的表达式中，A （即 result）等于 5。
A = 19 % 6.7
关于 % 运算符何时产生运行时错误的信息，请参阅运算符操作表。


取余运算符 (%)

% 运算符
请参阅 		语言参考

%= 运算符
运算符操作
运算符优先级
运算符总结


取余赋值运算符 (%=)

%= 运算符 		语言参考
版本 1

请参阅

描述
用于两个数相除，然后只返回余数。
语法
result %= expression

%= 运算符的语法组成部分如下：

部分 | 描述
result | 任何变量。
expression | 任何数值表达式。

说明
使用 %= 运算符与使用下面的语句是等效的：
result = result % expression
关于 %= 运算符何时产生运行时错误的信息，请参阅运算符操作表。


取余赋值运算符 (%=)

%= 运算符
请参阅 		语言参考

% 运算符
运算符操作
运算符优先级
运算符总结


乘法赋值运算符 (*=)

*= 运算符 		语言参考
版本 1

请参阅

描述
用于一个数与另一个数相乘。
语法
result *= expression

*= 运算符的语法组成部分如下：

部分 | 描述
result | 任何变量。
expression | 任何表达式。

说明
使用 *= 运算符和使用下面的语句是等效的：
result = result * expression
关于 *= 运算符何时产生运行时错误的信息，请参阅运算符操作表。


乘法赋值运算符 (*=)

*= 运算符
请参阅 		语言参考

* 运算符
运算符操作
运算符优先级
运算符总结


乘法运算符 (*)

* 运算符 		语言参考
版本 1

请参阅

描述
两个数相乘。
语法
result = number1*number2

* 运算符的语法组成部分如下：

部分 | 描述
result | 任何变量。
number1 | 任何表达式。
number2 | 任何表达式。

说明
关于 * 运算符何时产生运行时错误的信息，请参阅运算符操作表。


乘法运算符 (*)

* 运算符
请参阅 		语言参考

*= 运算符
运算符操作
运算符优先级
运算符总结


new 运算符

new 运算符
 语言参考
版本 1

请参阅

描述
创建一个新对象。
语法

new constructor[(arguments)]

constructor 参数调用对象的构造函数。如果构造函数没有参数，则可以省略圆括号。

说明
new 运算符执行下面的任务：
  1. 创建一个没有成员的对象。
  2. 为那个对象调用构造函数，传递一个指针给新创建的对象作为 this 指针。
然后构造函数根据传递给它的参数初始化该对象。

下面这些是有效的 new 运算符的用法例子：

my_object = new Object;
my_array = new Array();
my_date = new Date("Jan 5 1996");


new 运算符

new 运算符
请参阅 		语言参考

function 语句


逻辑“非”运算符 (!)

! 运算符 		语言参考
版本 1

请参阅

描述
对一个表达式执行逻辑非。
语法
result = !expression

! 运算符的语法组成部分如下：

部分 | 描述
result | 任何变量。
expression | 任何表达式。

说明
下面的表举例说明了 result 是如何决定的。

如果 expression 是 | 则 result 是
True | False
False | True

所有一元运算符，如 ! 运算符，按照下面的规则来求表达式的值：

  • 如果应用于 undefined 或 null 表达式，则会产生一个运行时错误。
  • 对象被转换为字符串。
  • 如果可能，字符串被转换为数值。否则会产生一个运行时错误。
  • Boolean 值被当作数值（如果是 false 则为 0，如果是 true 则为 1）。
该运算符被用来产生数值。

对于 ! 运算符，如果 expression 是非零的，则 result 是零。如果 expression 是零，则 result 是 1。


逻辑“非”运算符 (!)

! 运算符
请参阅 		语言参考

~ 运算符
运算符操作
运算符优先级
运算符总结


逻辑“或”运算符 (||)

|| 运算符 		语言参考
版本 1

请参阅

描述
对两个表达式执行逻辑“或”。
语法
result = expression1 || expression2

|| 运算符的语法组成部分如下：

部分 | 描述
result | 任何变量。
expression1 | 任何表达式。
expression2 | 任何表达式。

说明
如果两个表达式中有一个或两个等于 True，则 result 是 True。下面的表举例说明了 result 是如何被决定的：

如果 expression1 是 | 且 expression2 是 | 则 result 是
True | True | True
True | False | True
False | True | True
False | False | False

关于 && 运算符何时产生运行时错误的信息，请参阅运算符操作表。

JScript 使用下面的规则来把非 Boolean 值转换为 Boolean 值：

  • 所有对象都被认为是 true。
  • 字符串当且仅当为空时才被认为是 false。
  • null 和 undefined 被认为是 false。
  • 数字当且仅当为 0 时才是 false。


逻辑“或”运算符 (||)

|| 运算符
请参阅 		语言参考

运算符操作
运算符优先级
运算符总结


右移赋值运算符 (>>=)

>>= 运算符 		语言参考
版本 1

请参阅

描述
用来把表达式的所有位向右移，且保持符号不变。
语法
result >>= expression

>>= 运算符的语法组成部分如下：

部分 | 描述
result | 任何变量。
expression | 任何表达式。

说明
使用 >>= 运算符和使用下面的语句是等效的：
result = result >> expression
>>= 运算符把 result 的所有位向右移 expression 指定的位数。result 的符号位被用来填充右移后左边空出的位。从右边移出去的位被丢弃。例如，下面的代码被求值后，temp 的值是 -4：-14 （即二进制的 11110010）右移两位等于 -4 （即二进制的 11111100）。
var temp
temp = -14
temp >>= 2
关于 >>= 运算符何时产生运行时错误的信息，请参阅运算符操作表。


右移赋值运算符 (>>=)

>>= 运算符
请参阅 		语言参考

<< 运算符
>> 运算符
>>> 运算符
运算符操作
运算符优先级
运算符总结


按位右移运算符 (>>)

>> 运算符 		语言参考
版本 1

请参阅

描述
把表达式的所有位向右移，保持符号不变。
语法
result = expression1 >> expression2

>> 运算符的语法组成部分如下：

部分 | 描述
result | 任何变量。
expression1 | 任何表达式。
expression2 | 任何表达式。

说明
>> 运算符把 expression1 的所有位向右移 expression2 指定的位数。expression1 的符号位被用来填充右移后左边空出来的位。向右移出的位被丢弃。例如，下面的代码被求值后，temp 的值是 -4：-14 （即二进制的 11110010）右移两位等于 -4 （即二进制的 11111100）。
var temp
temp = -14 >> 2
关于 >> 运算符何时产生运行时错误的信息，请参阅运算符操作表。


按位右移运算符 (>>)

>> 运算符
请参阅 		语言参考

<< 运算符
>>= 运算符
>>> 运算符
运算符操作
运算符优先级
运算符总结


减法赋值运算符 (-=)

-= 运算符 		语言参考
版本 1

请参阅

描述
用来从一个变量减去一个表达式的值。
语法
result -= expression

-= 运算符的语法组成部分如下：

部分 | 描述
result | 任何数值变量。
expression | 任何数值表达式。

说明
使用 -= 运算符与使用下面的语句是等效的：
result = result - expression

关于 - 运算符何时产生运行时错误的信息，请参阅运算符操作表。


减法赋值运算符 (-=)

-= 运算符
请参阅 		语言参考

- 运算符
运算符操作
运算符优先级
运算符总结


减法运算符 (-)

- 运算符 		语言参考
版本 1

请参阅

描述
用来获得两个数值之间的差或用来指出数值表达式的相反数。

语法 1
result = number1 - number2
语法 2
-number

- 运算符的语法组成部分如下：

部分 | 描述
result | 任何数值变量。
number | 任何数值表达式。
number1 | 任何数值表达式。
number2 | 任何数值表达式。

说明
在语法 1 中，- 运算符是算术减法运算符，用来获得两个数值之间的差。在语法 2 中，- 运算符被用作一元取负运算符，用来指出一个表达式的负值。

关于语法 1 何时产生运行时错误的信息， 请参阅运算符操作表。

对于语法 2，和所有一元运算符一样，表达式按照下面的规则来求值：

  • 如果应用于 undefined 或 null 表达式，则会产生一个运行时错误。
  • 对象被转换为字符串。
  • 如果可能，则字符串被转换为数值。如果不能，则会产生一个运行时错误。
  • Boolean 值被当作数值（如果是 false 则为 0，如果是 true 则为 1）。
该运算符被用来产生数值。 在语法 2 中，如果生成的数值不是零，则 result 与生成的数值颠倒符号后是相等的。如果生成的数值是零，则 result 是零。


减法运算符 (-)

- 运算符
请参阅 		语言参考

-= 运算符
运算符操作
运算符优先级
运算符总结


typeof 运算符

typeof 运算符 		语言参考
版本 1

请参阅

描述
返回一个用来表示表达式的数据类型的字符串。
语法
typeof [ ( ] expression [ ) ] ;

expression 参数是需要查找类型信息的任意表达式。

说明
typeof 运算符把类型信息当作字符串返回。typeof 返回值有六种可能： "number," "string," "boolean," "object," "function," 和 "undefined."

typeof 语法中的圆括号是可选项。


typeof 运算符

typeof 运算符
请参阅 		语言参考

运算符操作
运算符优先级
运算符总结


无符号右移赋值操作 (>>>=)

>>>= 运算符 		语言参考
版本 1

请参阅

描述
用来对变量中的所有位进行无符号右移。
语法
result >>>= expression

>>>= 运算符的语法组成部分如下：

部分 | 描述
result | 任何变量。
expression | 任何表达式。

说明
使用 >>>= 运算符和使用下面的语句是等效的：
result = result >>> expression
>>>= 运算符把 result 的所有位向右移 expression 指定的位数。右移后左边空出的位用零来填充。向右移出的位被丢弃。例如：
var temp
temp = -14
temp >>>= 2
变量 temp 的值为 -14 （即二进制的 11111111 11111111 11111111 11110010），向右移两位后等于 1073741820 （即二进制的 00111111 11111111 11111111 11111100）。

关于 >>>= 运算符何时产生运行时错误的信息，请参阅运算符操作表。


无符号右移赋值运算符 (>>>=)

>>>= 运算符
请参阅 		语言参考

>>> 运算符
<< 运算符
>> 运算符
运算符操作
运算符优先级
运算符总结


无符号右移运算符 (>>>)

>>> 运算符 		语言参考
版本 1

请参阅

描述
在表达式中执行无符号右移。
语法
result = expression1 >>> expression2

>>> 运算符的语法组成部分如下：

部分 | 描述
result | 任何变量。
expression1 | 任何表达式。
expression2 | 任何表达式。

说明
>>> 运算符把 expression1 的各个位向右移 expression2 指定的位数。右移后左边空出的位用零来填充。移出右边的位被丢弃。例如：
var temp
temp = -14 >>> 2
变量 temp 的值为 -14 （即二进制的 11111111 11111111 11111111 11110010），向右移两位后等于 1073741820 （即二进制的 00111111 11111111 11111111 11111100）。

关于 >>>= 运算符何时产生运行时错误的信息，请参阅运算符操作表。


无符号右移运算符 (>>>)

>>> 运算符
请参阅 		语言参考

>>>= 运算符
<< 运算符
>> 运算符
运算符操作
运算符优先级
运算符总结


void 运算符

void 运算符 		语言参考
版本 2

请参阅

描述
避免表达式返回值。
语法
void expression

expression 参数是任意有效的 JScript 表达式。

说明
void 运算符对表达式求值，并返回 undefined。在希望求表达式的值，但又不希望脚本的剩余部分看见这个结果时，该运算符最有用。


void 运算符

void 运算符
请参阅 		语言参考

运算符操作
运算符优先级
运算符总结


按位“异或”运算符 (^)

^ 运算符 		语言参考
版本 1

请参阅

描述
对两个表达式执行按位异或。
语法
result = expression1 ^ expression2

^ 运算符的语法组成部分如下：

部分 | 描述
result | 任何变量。
expression1 | 任何表达式。
expression2 | 任何表达式。

说明
^ 运算符查看两个表达式的二进制表示法的值，并执行按位异或。该操作的结果如下所示：
0101    (expression1)
1100    (expression2)
----
1001    （结果）
当且仅当只有一个表达式的某位上为 1 时，结果的该位才为 1。否则结果的该位为 0。

关于 ^ 运算符何时产生运行时错误的信息，请参阅运算符操作表。


按位“异或”运算符 (^)

^ 运算符
请参阅 		语言参考

^= 运算符
运算符操作
运算符优先级
运算符总结


按位“异或”赋值运算符 (^=)

^= 运算符 		语言参考
版本 1

请参阅

描述
用来对表达式执行按位异或。
语法
result ^= expression

^= 运算符的语法组成部分如下：

部分 | 描述
result | 任意变量。
expression | 任意表达式。

说明
使用 ^= 运算符和使用下面的语句是等效的：
result = result ^ expression
^= 运算符查看两个表达式的二进制表示法的值，并执行按位异或。该操作的结果如下所示：
0101    (result)
1100    (expression)
----
1001    （结果）
当且仅当只有一个表达式的某位为 1 时，结果的该位才为 1。否则，结果的该位为 0。

关于 ^= 运算符何时产生运行时错误的信息，请参阅运算符操作表。


按位“异或”赋值运算符 (^=)

^= 运算符
请参阅 		语言参考

^ 运算符
运算符操作
运算符优先级
运算符总结


description 属性

description 属性 		语言参考
版本 5

请参阅 应用于

描述
返回或设置与特定错误相联系的描述字符串。
语法
object.description [= stringexpression]

description 属性的语法组成部分如下：

部分 | 描述
object | Error 对象的任意实例。
stringexpression | 包含错误描述的字符串表达式。

说明
description 属性包含与特定错误相联系的错误信息字符串。使用包含在这个属性中的值，来警告用户发生了一个不能或不想处理的错误。

下面的例子举例说明了 description 属性的使用：

try
 { x = y					// 产生错误。}
catch(var e{				// 创建局部变量 e。
  document.write(e)                  		// 打印 "[object Error]".
  document.write((e.number & 0xFFFF))		// 打印 5009.
  document.write(e.description)      		// 打印 "'y' is undefined".
}


description 属性

description 属性
应用于 		语言参考

Error 对象


description 属性

description 属性
请参阅 		语言参考

number 属性


number 属性

number 属性 		语言参考
版本 5

请参阅 应用于

描述
返回或设置与特定错误相联系的数字值。Error 对象的默认属性是 number。
语法
object.number [= errornumber]

number 属性的语法组成部分如下：

部分 | 描述
object | 任意 Error 对象的实例。
errornumber | 表示一个错误的整数。

说明
错误号是一个 32 位的值。高 16 位字是设施代码，而低字才是真正的错误代码。

下面的例子举例说明了 number 属性的用法：

try
 { x = y					// 产生错误。}
catch(var e){				// 创建局部变量 e。
  document.write(e)                    		// 打印 "[object Error]"。
  document.write(e.number>>16 & 0x1FFF)		// 打印 10，设施代码。
  document.write(e.number & 0xFFFF)    		// 打印 5009，错误代码。
  document.write(e.description)       		// 打印 "'y' is undefined"。
}


number 属性

number 属性
应用于 		语言参考

Error 对象


number 属性

number 属性
请参阅 		语言参考

description 属性


index 属性

index 属性 		语言参考
版本 3

请参阅 应用于

描述
返回字符位置，它是查找字符串中第一个成功匹配的开始位置。
语法
RegExp.index
说明
index 属性是基于零的。不论何时产生一个成功匹配，它的值都被修改。


index 属性

index 属性
应用于 		语言参考

RegExp 对象


index 属性

index 属性
请参阅 		语言参考

RegExp 对象的属性
正则表达式语法


input 属性

input 属性 		语言参考
版本 3

请参阅 应用于

描述
返回执行查找的字符串。只读。
语法
RegExp.input
说明
任何时候改变了被查找的字符串，input 属性的值都会被修改。

下面的例子举例说明了 input 属性的用法：

function inputDemo()
{
  var s;
  var re = new RegExp("d(b+)(d)","ig");
  var str = "cdbBdbsbdbdz";
  var arr = re.exec(str);
  s = "The string used for the match was " + RegExp.input;
  return(s);
}


input 属性

input 属性
应用于 		语言参考

RegExp 对象


input 属性

input 属性
请参阅 		语言参考

RegExp 对象的属性
正则表达式语法


lastIndex 属性

lastIndex 属性 		语言参考
版本 3

请参阅 应用于

描述
返回字符位置，它是被查找字符串中最后一次成功匹配的开始位置。
语法
RegExp.lastIndex
说明
lastIndex 属性是基于零的，也就是说，第一个字符的索引是零。不论何时产生一个成功匹配，它的值都被修改。

lastIndex 属性被 RegExp 对象的 exec 和 test 方法，以及 String 对象的 match、replace、和 split 方法修改。

下面的规则应用于 lastIndex 的值：

  • 如果还没有匹配，则 lastIndex 被设置为 -1.
  • 如果 lastIndex 比字符串的长度大，则 test 和 exec 失败，并且 lastIndex 被设置为 -1。
  • 如果 lastIndex 等于字符串的长度，且模式与空字符串匹配，则正则表达式匹配。否则，匹配失败并且 lastIndex 被重置为 -1。
  • 否则，lastIndex 被设置为紧接最近的匹配的下一个位置。


lastIndex 属性

lastIndex 属性
应用于 		语言参考

RegExp 对象


lastIndex 属性

lastIndex 属性
请参阅 		语言参考

RegExp 对象的属性
正则表达式语法


$1...$9 属性

$1...$9 属性 		语言参考
版本 3

请参阅 应用于

描述
返回九个在模式匹配期间找到的、最近保存的部分。只读。
语法
RegExp.$n

参数 n 是 1 到 9 之间的数。

说明
无论何时产生一个成功的带插入语的匹配，$1...$9 属性的值都被修改，但是只有最近的九个可以被保存起来。

下面的例子举例说明了 $1...$9 属性的用法：

function matchDemo()
{
  var s;
  var re = new RegExp("d(b+)(d)","ig");
  var str = "cdbBdbsbdbdz";
  var arr = re.exec(str);
  s = "$1 contains: " + RegExp.$1 + "<BR>";
  s += "$2 contains: " + RegExp.$2 + "<BR>";
  s += "$3 contains: " + RegExp.$3;
  return(s);
}


$1..$9 属性

$1..$9 属性
应用于 		语言参考

RegExp 对象


$1...$9 属性

$1...$9 属性
请参阅 		语言参考

RegExp 对象的属性
正则表达式语法


compile 方法

compile 方法 		语言参考
版本 3

请参阅 应用于

描述
把一个正则表达式编译为内部格式。
语法
rgexp.compile(pattern)

compile 方法的语法组成部分如下：

部分 | 描述
rgexp | 必选项。正则表达式对象。 可以是变量名或文字。
pattern | 必选项。字符串表达式，它包含要被编译的正则表达式模式。

说明
compile 方法把 pattern 转换为内部的格式，从而执行得更快。例如，这使得可以在循环中更有效地使用正则表达式。

下面的例子举例说明了 compile 方法的用法：

function CompileDemo()
{
  var s = "AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPp"
                  // 只为大写字母创建正则表达式。
  var r = new RegExp("[A-Z]", "g");
  var a = s.match(r)			// 查找匹配。
  document.write(a);
                  // 只为小写字母编译正则表达式。
  r.compile("[a-z]", "g");
  var a = s.match(r)			// 查找匹配。
  document.write(a);
}


compile 方法

compile 方法
应用于 		语言参考

正则表达式对象


compile 方法

compile 方法
请参阅 		语言参考

正则表达式对象的方法
正则表达式对象的属性
正则表达式的语法


exec 方法

exec 方法 		语言参考
版本 3

请参阅 应用于

描述
在指定字符串中运行查找来获得匹配。
语法
rgexp.exec(str)

exec 方法的语法组成部分如下：

部分 | 描述
rgexp | 必选项。正则表达式 对象。可以是变量名或文字。
str | 必选项。要执行查找的字符串。

说明
exec 方法查找的结果被放在一个数组中。

如果 exec 方法没有找到匹配，则它返回 null。如果它找到一个或多个匹配，则 exec 方法返回一个数组，并且更新 RegExp 对象，来反映查找结果。

下面的例子举例说明了 exec 方法的用法：

function ExecDemo()
{
  var s = "AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPp"
  var r = new RegExp("g", "i");
  var a = r.exec(s);
  document.write(a);
  r.compile("g");
  var a = r.exec(s);
  document.write(a);
}


exec 方法

exec 方法
应用于 		语言参考

正则表达式对象


exec 方法

exec 方法
请参阅 		语言参考

RegExp 对象
正则表达式对象的方法
正则表达式对象的属性
正则表达式的语法


lastIndex 属性（正则表达式）

lastIndex 属性（正则表达式） 		语言参考
版本 3

请参阅 应用于

描述
指定索引，下一个匹配从该索引处开始。
语法
rgexp.lastIndex [= index]

lastIndex 属性的语法组成部分如下：

部分 | 描述
rgexp | 必选项。正则表达式 对象。可以是变量名或文字。
index | 索引，下一个匹配从该索引处开始。

说明
lastIndex 属性被 exec 方法、以及 String 对象的 match、replace、和 split 方法修改。

下面的规则应用于 lastIndex 的值：

  • 如果 lastIndex 大于字符串的长度，则 test 和 exec 方法失败，并且 lastIndex 被设置为零。
  • 如果 lastIndex 等于字符串的长度，且模式与空字符串匹配，则正则表达式匹配。否则匹配失败，并且 lastIndex 被重置为零。
  • 否则，lastIndex 被设置为紧接最近的匹配的下一个位置。


lastIndex 属性（正则表达式）

lastIndex 属性（正则表达式）
应用于 		语言参考

正则表达式对象


lastIndex 属性（正则表达式）

lastIndex 属性（正则表达式）
请参阅 		语言参考

match 方法
正则表达式对象的方法
正则表达式对象的属性
正则表达式的语法
replace 方法
split 方法
String 对象


source 属性

source 属性 		语言参考
版本 3

请参阅 应用于

描述
返回正则表达式模式的文本的复本。只读。
语法
rgexp.source

rgexp 参数是正则对象。它可以是变量名或文字。

下面的例子举例说明了 source 属性的用法：

function SourceDemo(re, s)
{
  var s1;
  // 测试字符串中是否存在正则表达式。
  if (re.test(s))
    s1 = " contains ";
  else
    s1 = " does not contain ";
  // 获得正则表达式自己的文本。
  return(s + s1 + re.source);
}


source 属性

source 属性
应用于 		语言参考

正则表达式对象


source 属性

source 属性
请参阅 		语言参考

正则表达式对象的方法
正则表达式对象的属性
正则表达式的语法


test 方法

test 方法 		语言参考
版本 3

请参阅 应用于

描述
返回一个 Boolean 值，它指出在被查找的字符串中是否存在模式。
语法
rgexp.test(str)

test 方法的语法组成部分如下：

部分 | 描述
rgexp | 必选项。正则表达式 对象。可以是变量名或文字。
str | 必选项。要在其上测试查找的字符串。

说明
test 方法检查在字符串中是否存在一个模式，如果存在则返回 true，否则就返回 false。

RegExp 对象不由 test 方法来修改。

下面的例子举例说明了 test 方法的用法：

function TestDemo(re, s)
{
  var s1;
  // 检查字符串是否存在正则表达式。
  if (re.test(s))
    s1 = " contains ";
  else
    s1 = " does not contain ";
  // 获得正则表达式自己的文本。
  return(s + s1 + re.source);
}


test 方法

test 方法
应用于 		语言参考

正则表达式对象


test 方法

test 方法
请参阅 		语言参考

RegExp 对象
正则表达式对象的方法
正则表达式对象的属性
正则表达式的语法


正则表达式的语法

正则表达式的语法 		语言参考
版本 3

请参阅 应用于

描述
用特殊字符和序列，来为正则表达式书写模式。下面的表描述了这些字符，并包括了简短的例子，来说明如何使用这些字符。

字符 | 描述
\ 标记下一个字符是特殊字符或文字。例如，"n" 和字符 "n" 匹配。"\n" 则和换行字符匹配。序列 "\\" 和 "\" 匹配，而 "\(" 则和 "(" 匹配。
^ 匹配输入的开头。
$ 匹配输入的末尾。
* 匹配前一个字符零或多次。例如，"zo*" 与 "z" 或 "zoo" 匹配。
+ 匹配前一个字符一次或多次。例如，"zo+" 与 "zoo" 匹配，但和 "z" 不匹配。
? 匹配前一个字符零或一次。例如，"a?ve?" 和 "never" 中的 "ve" 匹配。
. 匹配除换行字符外的任何单个字符。
(pattern) | 匹配 pattern 并记住该匹配。匹配上的子字符串，可以使用 Item [0]...[n]，来从生成的 Matches 集合中取回。要匹配圆括号字符 ( )，则需使用 "\(" 或 "\)"。
x|y | 匹配 x 或
{n} | n 是非负整数。共匹配 n
{n,} | n 是一个非负整数。至少匹配 n 次。例如，"o{2,}" 和 "Bob" 中的 "o" 不匹配，但和 "foooood" 中的所有 o 匹配。"o{1,}" 与 "o+" 等效。"o{0,}" 和 "o*" 等效。
{n,m} | m 和 n 是非负整数。至少匹配 n 次而至多匹配 m 次。例如，"o{1,3}" 和 "fooooood" 中的前三个 o 匹配。"o{0,1}" 和 "o?" 等效。
[ 字符集合。匹配括号内的任一字符。例如，"[abc]" 和 "plain" 中的 "a" 匹配。
[^xyz | 否定字符集合。匹配非括号内的任何字符。例如，"[^abc]" 和 "plain" 中的 "p" 匹配。
[a-z] | 字符范围。和指定范围内的任一字符匹配。例如，"[a-z]" 匹配 "a" 到 "z"范围内的任一小写的字母表字符。
[^m-z] | 否定字符范围。匹配不在指定范围内的任何字符。例如，"[m-z]" 匹配不在 "m" 到 "z"范围内的任何字符。
\b | 匹配字的边界，也就是说，在字和空格之间的位置。例如，"er\b" 和 "never" 中的 "er" 匹配，但和 "verb" 中的 "er" 不匹配。
\B | 匹配非字边界。"ea*r\B" 和 "never early" 中的 "ear" 匹配。
\d | 匹配数字字符。等价于 [0-9]。
\D | 匹配非数字字符。等价于 [^0-9]。
\f | 匹配换页字符。
\n | 匹配换行字符。
\r | 匹配回车符字符。
\s | 匹配任何空白，包括空格、制表、换页等。与 "[ \f\n\r\t\v]" 等效。
\S | 匹配任何非空白字符。与 "[^ \f\n\r\t\v]" 等效。
\t | 匹配制表字符。
\v | 匹配垂直制表符。
\w | 匹配包括下划线在内的任何字字符。与 "[A-Za-z0-9_]" 等效。
\W | 匹配任何非字字符。与 "[^A-Za-z0-9_]" 等效。
\num | 匹配 num，其中 num 是一个正整数。返回记住的匹配的引用。例如，"(.)\1" 匹配两个连续的同一字符。
\n | 匹配 n，其中 n 是八进制换码值。八进制换码值必须是 1、2、或 3 位长。例如，"\11" 和 "\011" 都匹配制表字符。"\0011" 和 "\001" & "1" 是等效的。八进制换码值必须不超过 256。如果超过了，则只有前两位组成表达式。允许在正则表达式中使用 ASCII 码。
\xn | 匹配 n，其中 n 是十六进制换码值。十六进制换码值必须正好是两位长。例如，"\x41" 与 "A" 匹配。"\x041" 和 "\x04" & "1" 是等效的。允许在正则表达式中使用 ASCII 码。


正则表达式的语法

正则表达式的语法
应用于 		语言参考

RegExp 对象
正则表达式对象


正则表达式的语法

正则表达式的语法
请参阅 		语言参考

String 对象


break 语句

break 语句
 语言参考
版本 1

请参阅

描述
中断当前循环，或和 label 一起使用，中断相关联的语句。
语法
break [label];

可选的 label 参数指定断点处语句的标签。

说明
通常在 switch 语句和 while、for、for...in、或 do...while 循环中使用 break 语句。 最一般的是在 switch 语句中使用 label 参数，但它可在任何语句中使用，无论是简单语句还是复合语句。

执行 break 语句会退出当前循环或语句，并开始脚本执行紧接着的语句。

下面的示例说明了 break 语句的用法：

function BreakTest(breakpoint)
{
   var i = 0;
   while (i < 100)
   {
   if (i == breakpoint)
     break;
     i++;
   }
   return(i);
}


break 语句

break 语句
请参阅 		语言参考

continue 语句
do...while 语句
for 语句
for...in 语句
Labeled 语句
while 语句


@cc_on 语句

@cc_on 语句 		语言参考
版本 3

请参阅

描述
激活条件编译支持。
语法
@cc_on
说明
@cc_on 语句激活 scripting 引擎中的条件编译。

极力推荐在注释中使用 @cc_on 语句，以使不支持条件编译的浏览器也接受此脚本为有效语法：

/*@cc_on*/
...
（脚本的剩余部分）
作为选择，在注释外的一个 @if 或 @set 语句也会激活条件编译。


@cc_on 语句

@cc_on 语句
请参阅 		语言参考

条件编译
条件编译变量
@if 语句
@set 语句


Comment 语句

Comment 语句
 语言参考
版本 1

描述
使注解部分被 JScript 解析器忽略。
语法 1
单行注释：
// comment
语法 2
多行注释：
/*
comment
*/

comment 参数是想要包含到脚本中的注释。

语法 3
//@CondStatement
语法 4
/*@
condStatement
@*/

condStatement 参数是条件编译被激活后使用的条件编译代码。如果使用的是语法 3，则在 "//" 和 "@" 字符间可以没有空格。

说明
用注释来使 JScript 解析器不读取脚本的某些部分。可以使用注释来在程序中包括解释性说明。

如果使用的是语法 1，则解析器忽略在注释标记和行尾间的所有文本。如果使用的是语法 2，则它忽略开始标记和结束标记之间的所有文本。

语法 3 和 4 用来支持条件编译，以保证与不支持那个特性的浏览器兼容。这些浏览器把这些形式的注释分别当成语法 1 和 2 对待。

下面示例说明了 comment 语句的最普通的用法：

function myfunction(arg1, arg2)
{
  /* 这是多行注释，可以根据需要跨越多行。*/
  var r;
  // 这是单行注释。
  r = arg1 + arg2; // 求两个参数的和。
  return(r);
}


Comment 语句

Comment 语句
请参阅 		语言参考

条件编译


@if 语句

@if 语句
 语言参考
版本 3

请参阅

描述
根据表达式的值，有条件地执行一组语句。
语法
@if (condition1)
text1
[@elif (condition2)
text2]
[@else
text3]
@end

@if 语句的语法组成如下：

部分 | 描述
condition1, condition2 | 可以强制转换为 Boolean 表达式的表达式。
text1 | condition1 是 true 时要解析的文本。
text2 | condition1 是 false 且 condition2 是 true 时要解析的文本。
text3 | condition1 和 condition2 都是 false 时要解析的文本。

说明
在书写 @if 语句时，不必将每个子句放到不同的行。可以使用多个 @elif 子句，但是，所有 @elif 子句必须在 @else 子句之前出现。

通常使用 @if 语句来决定应当使用若干选项中的哪个选项来进行文本输出。例如：

alert(@if (@_win32) "using Windows NT or Windows 95" @else "using Windows 3.1" @end)


@if 语句

@if 语句
请参阅 		语言参考

条件编译
条件编译变量
@cc_on 语句
@set 语句


continue 语句

continue 语句
 语言参考
版本 1

请参阅

描述
停止循环的当前迭代，并开始新的迭代。
语法
continue [label];

可选的 label 参数指定 continue 应用于哪条语句。

说明
只能在 while、do...while、for、或 for...in 循环内使用 continue 语句。 执行 continue 语句会停止当前循环的迭代，并从循环的开始处继续程序流程。这样对不同的循环类型有如下影响：
  • while 和 do...while 循环检查它们的条件，如果条件为 true，则再次执行循环。
  • for 循环执行它们的递增表达式，如果测试表达式为 true，则再次执行循环。
  • for...in 循环继续进行指定变量的下一个字段，并再次执行循环。

下面示例说明了 continue 语句的用法：

function skip5()
{
  var s = "", i=0;
  while (i < 10)
  {
    i++;
    // 跳过 5
    if (i==5)
    {
      continue;
    }
   s += i;
  }
  return(s);
}


continue 语句

continue 语句
请参阅 		语言参考

break 语句
do...while 语句
for 语句
for...in 语句
Labeled 语句
while 语句


do...while 语句

do...while 语句 		语言参考
版本 3

请参阅

描述
第一次执行一个语句块，然后重复循环的执行该语句块，直到条件表达式等于 false。
语法
do
statement
while (expression) ;

do...while 语句的语法组成如下：

部分 | 描述
statement | expression 是 true 时要执行的语句。可以是 复合语句。
expression | 一个可以强制转换为 Boolean true 或 false 的 表达式。如果 expression 是 true，则再执行一次循环。如果 expression 是 false，则结束循环。

说明
在循环的第一次重复执行完成前，不检查 expression 的值，保证至少执行循环一次。此后，循环每成功重复一次后都要检查表达式。

下面的代码使用 do...while 语句来重复 Drives 集合：

function GetDriveList()
{
  var fso, s, n, e, x;
  fso = new ActiveXObject("Scripting.FileSystemObject");
  e = new Enumerator(fso.Drives);
  s = "";
  do
  {
    x = e.item();
    s = s + x.DriveLetter;
    s += " - ";
    if (x.DriveType == 3)
      n = x.ShareName;
    else if (x.IsReady)
      n = x.VolumeName;
    else
      n = "[Drive not ready]";
    s +=  n + "<br>";
    e.moveNext();
  }
  while (!e.atEnd());
  return(s);
}


do...while 语句

do...while 语句
请参阅 		语言参考

break 语句
continue 语句
for 语句
for...in 语句
while 语句
Labeled 语句


for 语句

for 语句
 语言参考
版本 1

请参阅

描述
只要指定条件为 true 都执行语句块。
语法
for (initialization; test; increment)
statement

for 语句的语法组成如下：

部分 | 描述
initialization | 一个 表达式。该表达式只在执行循环前被执行一次。
`test | 一个 Boolean 表达式。如果 test 是 true，则 statement 被执行。如果 test 是 false，则循环结束。
increment | 一个表达式。在每次经过循环的最后执行该递增表达式。
statement | test 是 true 时要执行的语句。可以是复合语句。

说明
循环要执行确定的次数，通常使用 for 循环。下面的例子示范了一个 for 循环。
/* 在开始时 i 被设为 0，并在每次重复的最后被增加 1。
在循环重复前，如果 i 不小于 10，则循环结束。 */
var myarray = new Array();
for (i = 0; i < 10; i++)
{
  myarray[i] = i;
}


for 语句

for 语句
请参阅 		语言参考

for...in 语句
while 语句


for...in 语句

for...in 语句
 语言参考
版本 5

请参阅

描述
对应于一个对象的每个属性，或一个数组的每个元素，执行一个或多个语句。
语法
for (variable in [object | array])
statement

for 语句的语法组成如下：

部分 | 描述
variable | 一个变量，它可以是 object 的任一属性或 array 的任一元素。
object, array | 要在其上遍历的对象或数组。
statement | 相对于 object 的每个属性或 array 的每个元素，都要被执行的语句。可以是复合语句。

说明
在循环的每次迭代前，variable 被赋予 object 的下一个属性或 array 的下一个元素。然后可以在循环内的任一语句中使用它，就好像正在使用 object 的该属性或 array 的该元素一样。

当在一个对象上迭代时，没有办法决定或控制把对象的成员赋给 variable 的次序。在数组内将按元素的次序执行迭代，也就是，0、1、2、……

下面示例说明了 for ... in 语句的用法，它把一个对象用作一个联合数组：

function ForInDemo()
{
  // 创建某些变量。
  var a, key, s = "";
  // 初始化对象。
  a = {"a" : "Athens" , "b" : "Belgrade", "c" : "Cairo"}
  // 迭代属性。
  for (key in a)
  {
     s += a[key] + "<BR>";
  }
  return(s);
}
注意 使用 enumerator 对象来迭代集合的成员。


for...in 语句

for...in 语句
请参阅 		语言参考

for 语句
while 语句


function 语句

function 语句
 语言参考
版本 1

请参阅

描述
声明一个新的函数。
语法
function functionname([argument1 [, argument2 [, ...argumentn]]])
{
statements
}

function 语句的语法组成如下：

部分 | 描述
functionname | 函数名。
argument1...argumentn | 可选的、函数理解的参数列表、各个参数之间用逗号分开。
statements | 一个或多个 JScript 语句。

说明
使用 function 语句来声明一个稍后要使用的函数。在脚本的其他地方调用该函数前，statements 中包含的代码不被执行。

下面示例说明了 function 语句的用法：

function myfunction(arg1, arg2)
{
  var r;
  r = arg1 * arg2;
  return(r);
}
注意 在调用函数时，确保总是包括了圆括号以及任何需要的参数。不带圆括号调用函数将导致返回函数的文本，而不是函数的结果。


function 语句

function 语句
请参阅 		语言参考

new 运算符


if...else 语句

if...else 语句
 语言参考
版本 1

请参阅

描述
根据一个表达式的值，有条件地执行一组语句。
语法
if (condition)
statement1
[else
statement2]

if...else 语句的语法组成如下：

部分 | 描述
condition | 一个 Boolean 表达式。如果 condition 是 null 或undefined，则 condition 被当作 false。
statement1 | condition 是 true 时要执行的语句。可以是复合语句。
statement2 | condition 是 false 时要被执行的语句。可以是复合语句。

说明
把 statement1 和 statement2 括在大括号 ({}) 内通常是一个好习惯，这样就更清楚，并可以避免无意中造成错误。在下面示中，您可能打算把 else 和第一个 if 语句匹配，但它实际上却是和第二个相匹配的。
if (x == 5)
  if (y == 6)
     z = 17;
else
  z = 20;
按如下方法改写代码可以消除任何含混不清：
if (x == 5)
  {
  if (y == 6)
     z = 17;
  }
else
  z = 20;
同样，如果希望添加一个语句到 statement1，同时不使用大括号，则可能会产生错误：
if (x == 5)
  z = 7;
  q = 42;
else
  z = 19;
在这种情况下，有一个语法错误，因为在 if 和 else 语句之间有多条语句。在 if 和 else 之间的语句需要大括号。


if...else 语句

if...else 语句
请参阅 		语言参考

条件运算符 (?:)


Labeled 语句

Labeled 语句 		语言参考
版本 3

请参阅

描述
为语句提供一个标识符。
语法
label :
statement

Labeled 语句的语法组成如下：

部分 | 描述
label | 在引用有标签的语句时使用的一个唯一的标识符。
statement | 与 label 相关联的语句。可以是复合语句。

说明
标签由 break 和 continue 语句使用，用来指示 break 和 continue 应用于哪个语句。

在下面的语句中，continue 语句使用一个 labeled 语句来创建一个数组，在该数组中，每行的第三列包含一个未定义的值：

function labelDemo()
{
    var a = new Array();
    var i, j, s = "", s1 = "";
  Outer:
    for (i = 0; i < 5; i++)
    {
      Inner:
        for (j = 0; j < 5; j++)
        {
          if (j == 2)
            continue Inner;
          else
            a[i,j] = j + 1;
        }
    }

    for (i = 0;i < 5; i++)
    {
      s = ""
      for (j = 0; j < 5; j++)
      {
        s += a[i,j];
      }
      s1 += s + "\n";
    }
    return(s1)
}


Labeled 语句

Labeled 语句
请参阅 		语言参考

break 语句
continue 语句


return 语句

return 语句
 语言参考
版本 1

请参阅

描述
从当前函数退出，并从那个函数返回一个值。
语法

return [expression];

expression 参数是要从函数返回的值。如果省略，则该函数不返回值。

说明
用 return 语句来终止一个函数的执行，并返回 expression 的值。如果 expression 被省略，或在函数内没有 return 语句被执行，则把值 undefined 赋给调用当前函数的表达式。

下面示例说明了 return 语句的用法：

function myfunction(arg1, arg2)
{
  var r;
  r = arg1 * arg2;
  return(r);
}


return 语句

return 语句
请参阅 		语言参考

function 语句


@set 语句

@set 语句 		语言参考
版本 3

请参阅

描述
用条件编译语句来创建变量。
语法
@set @varname = term

@set 语句的语法组成如下：

部分 | 描述
varname | 有效的 JScript 变量名。必须总在前面放置一个 "@" 字符。
term | 零或多个一元运算符，后跟一个常数、条件编译变量、或圆括号括起来的表达式。

说明
条件编译支持数字和 Boolean 变量。不支持字符串。用 @set 创建的变量通常在条件编译语句中使用，但也可以在 JScript 代码的任何地方使用。

变量声明的例子看起来如下：

@set @myvar1 = 12
@set @myvar2 = (@myvar1 * 20)
@set @myvar3 = @_jscript_version
在园括号括起来的表达式中支持下面的运算符：
  • ! ~
  • * / %
  • + -
  • << >> >>>
  • < <= > >=
  • == != === !==
  • & ^ |
  • && ||
如果在变量被定义前使用了这个变量，则它的值是 NaN。NaN 可以用 @if 语句来检查：
@if (@newVar != @newVar)
  ...
这样做能成功是因为 NaN 是不等于它自己的唯一值。


@set 语句

@set 语句
请参阅 		语言参考

条件编译
条件编译变量
@cc_on 语句
@if 语句


switch 语句

switch 语句 		语言参考
版本 3

请参阅

描述
当指定的表达式的值与某个标签匹配时，即执行相应的一个或多个语句。
语法
switch (expression) {
case label :
statementlist
case label :
statementlist
...
default :
statementlist
}

switch 语句的语法组成如下：

部分 | 描述
expression | 要求值的表达式。
label | 根据 expression 来匹配的标识符。如果 label === expression，则立即从冒号后的 statementlist 处开始执行，直到遇到一个可选的 break 语句，或到达 switch 语句的最后。
statementlist | 要被执行的一个或多个语句。

说明
使用 default 子句来提供一个语句，该语句只在没有任何一个标签值与 expression 相匹配时才被执行。它可以出现在 switch 代码块内的任何地方。

可以指定零或多个 label 块。如果没有 label 和 expression 的值匹配，并且没有提供 default 情况，则不执行任何语句。

通过 switch 语句执行流程如下：

  1. 求 expression 的值并依次序查看 label，直到找到一个匹配。
  2. 如果 label 的值等于 expression 的值，则执行它相应的 statementlist。
    继续执行，直到遇到一个 break 语句，或者 switch 语句结束。这意味着如果没有使用一个 break 语句，则多个 label 块被执行。
  3. 如果没有 label 等于 expression 的值，则跳转到 default 情况。 如果没有 default 情况，则跳转到最后一步。
  4. 继续执行紧接 switch 代码块末尾的语句。
下面示例测试一个对象的类型：
function MyObject() {
...}
switch (object.constructor){
    case Date:
    ...
    case Number:
    ...
    case String:
    ...
    case MyObject:
    ...
    default:
    ...
}


switch 语句

switch 语句
请参阅 		语言参考

break 语句
if...else 语句


this 语句

this 语句
 语言参考
版本 1

请参阅

描述
指当前对象。
语法
this.property
说明
this 关键字通常在对象的 构造函数中使用，用来引用对象。在下面示例中，this 指的是新创建的 Car 对象，并给三个属性赋值：
function Car(color, make, model)
{
  this.color = color;
  this.make = make;
  this.model = model;
}
对于 JScript 的客户版本，如果在其他所有对象的上下文之外使用 this，则它指的是 window 对象。


this 语句

this 语句
请参阅 		语言参考

new 运算符


throw 语句

throw 语句
 语言参考
版本 5

请参阅

描述
产生一个能被 try...catch 语句处理的错误情形。
语法
throw exception

exception 参数可以是任何表达式。

说明
下面的例子根据传递进来的值扔出一个错误，然后举例说明那个错误是如何在 try...catch 语句的层次中被处理的：
function TryCatchDemo(x)
{
  try {
    try {
    if (x == 0)			// 估参数的值。
      throw "x equals zero";			// 扔出一个错误。
    else
      throw "x does not equal zero";		// 扔出一个不同的错误。
    }
    catch(e) {				// 在这儿处理 "x = 0" 的错误。
      if (e == "x equals zero")			// 检查错误能否在这儿被处理。
        return(e + " handled locally.");		// 返回对象错误消息。
      else					// 不能在这儿处理这个错误。
        throw e;			// 重新扔出该错误给下一个
    }					// 错误处理程序。
  }
  catch(e) {                    	   	// 在此处理其他错误。
    return(e + " handled higher up.");		// 返回错误消息。
  }
}
document.write(TryCatchDemo(0));
document.write(TryCatchDemo(1));


throw 语句

throw 语句
请参阅 		语言参考

try...catch 语句


try...catch 语句

try...catch 语句
 语言参考
版本 5

请参阅

描述
为 JScript 实现错误处理。
语法
try
tryStatement
catch(exception)
catchStatement

try...catch 语句的语法组成部分如下：

部分 | 描述
tryStatement | 可能发生错误的语句。可以是复合语句。
exception | 任何变量名。exception 的初始化值是扔出的错误的值。
catchStatement | 处理在相关联的 tryStatement 中发生的错误的语句。可以是复合语句。

说明
try...catch 语句提供了一种方法来处理可能发生在给定代码块中的某些或全部错误，同时仍保持代码的运行。如果发生了程序员没有处理的错误，JScript 只给用户提供它的普通错误消息，就好象没有错误处理一样。

tryStatement 参数包含可能发生错误的代码，而 catchStatement 则包含处理任何发生了的错误的代码。如果在 tryStatement 中发生了一个错误，则程序控制被传给 catchStatement 来安排。exception 的初始化值是发生在 tryStatement 中的错误的值。

如果在与发生错误的 tryStatement 相关联的 catchStatement 中不能处理该错误，则使用 throw 语句来传播、或重新扔出这个错误给更高级的错误处理程序。

下面的例子根据传递进来的值扔出一个错误。然后它举例说明了那个错误如何在 try...catch 语句的层次中被处理：

function TryCatchDemo(x)
{
  try {
    try {
    if (x == 0)					// 估参数的值。
      throw "x equals zero";			// 扔出一个错误。
    else
      throw "x does not equal zero";		// 扔出另一个不同的错误。
    }
    catch(e) {					// 在此处理 "x = 0" 的错误。
      if (e == "x equals zero")			// 检查一个错误是否该在此处理。
        return(e + " handled locally.");	// 返回对象错误消息。
      else					// 不能在此处理错误。
        throw e;					// 重新扔出该错误给下一个
    }							// 错误处理程序。
  }
  catch(e) {						// 在此处理其他错误。
    return(e + " handled higher up.");		// 返回错误信息。
  }
}
document.write(TryCatchDemo(0));
document.write(TryCatchDemo(1));


try...catch 语句

try...catch 语句
请参阅 		语言参考

throw 语句


var 语句

var 语句
 语言 参考
版本 1

请参阅

描述
声明变量。
语法
var variable [ = value ] [, variable2 [ = value2], ...]

var 语句的语法组成如下：

部分 | 描述
variable, variable2 | 被声明的变量的名字。
value, value2 | 赋给变量的初始化值。

说明
使用 var 语句来声明变量。这些变量可以在声明时或声明后在脚本中被赋值。下面是声明的例子：
var index;
var name = "Thomas Jefferson";
var answer = 42, counter, numpages = 10;


var 语句

var 语句
请参阅 		语言 参考

function 语句
new 运算符


while 语句

while 语句
 语言参考
版本 1

请参阅

描述
执行一个语句，直到指定的条件为 false。
语法
while (expression)
statement

while 语句的语法组成如下：

部分 | 描述
expression Boolean 表达式，在循环的每次迭代前被检查。 如果 expression 是 true，则执行循环。如果 expression 是 false，则结束循环。
statement | expression 是 true 时要执行的语句。可以是复合语句。

说明
while 语句在循环第一次被执行前检查 expression。如果 expression 此次是 false，则该循环一次都不被执行。

下面示例说明了 while 语句的用法：

function BreakTest(breakpoint)
{
   var i = 0;
   while (i < 100)
   {
   if (i == breakpoint)
     break;
     i++;
   }
   return(i);
}


while 语句

while 语句
请参阅 		语言参考

break 语句
continue 语句
do...while 语句
for 语句
for...in 语句


with 语句

with 语句
 语言参考
版本 1

请参阅

描述
为语句设定默认对象。
语法
with (object)
statement

with 语句的语法组成如下：

部分 | 描述
object

新的默认对象。

statement | 一个语句，object 是该语句的默认对象。可以是复合语句。

说明
with 语句通常用来缩短特定情形下必须写的代码量。在下面的例子中，请注意 Math 的重复使用：
x = Math.cos(3 * Math.PI) + Math.sin(Math.LN10)
y = Math.tan(14 * Math.E)
当使用 with 语句时，代码变得更短且更易读：
with (Math)
{
  x = cos(3 * PI) + sin (LN10)
  y = tan(14 * E)
}


with 语句

with 语句
请参阅 		语言参考

this 语句


anchor 方法

anchor 方法 		语言参考
版本 1

请参阅 应用于

描述

在对象中的指定文本两端放置一个有 NAME 属性的 HTML 锚点。
语法
strVariable.anchor(anchorstring)
"String Literal".anchor(anchorstring)

anchorstring 参数是想要放置 HTML 锚点的 NAME 属性的文本。

说明
调用 anchor 方法来在 String 对象外创建一个命名的锚点。下面示例说明了 anchor 方法是如何实现这个的：
var strVariable = "This is an anchor" ;
strVariable = strVariable.anchor("Anchor1");
执行完最后一条语句后 strVariable 的值为：
<A NAME="Anchor1">This is an anchor</A>
不检查该标记是否已经被应用于该字符串。


anchor 方法

anchor 方法
应用于 		语言参考

String 对象


anchor 方法

anchor 方法
请参阅 		语言参考

link 方法
String 对象的方法
String 对象的属性


big 方法

big 方法 		语言参考
版本 1

请参阅 应用于

描述
把 HTML <BIG> 标记放置在 String 对象中的文本两端。
语法
strVariable.big( )
"String Literal".big( )
说明
下面示例说明了 big 方法是如何工作的：
var strVariable = "This is a string object";
strVariable = strVariable.big( );
在执行完最后一个语句后，strVariable 的值为：
<BIG>This is a string object</BIG>
不检查该标记是否已经被应用于该字符串了。


big 方法

big 方法
应用于 		语言参考

String 对象


big 方法

big 方法
请参阅 		语言参考

small 方法
String 对象方法
String 对象属性


blink 方法

blink 方法 		语言参考
版本 1

请参阅 应用于

描述
把 HTML <BLINK> 标记放置在 String 对象中的文本两端。
语法
strVariable.blink( )
"String Literal".blink( )
说明
下面的示例说明了 blink 方法是如何工作的：
var strVariable = "This is a string object";
strVariable = strVariable.blink( );
在最后一条语句执行完后，strVariable 的值是：
<BLINK>This is a string object</BLINK>
不检查该标记是否已经被应用于该字符串了。

在 Microsoft Internet Explorer 中不支持 <BLINK> 标记。


blink 方法

blink 方法
应用于 		语言参考

String 对象


blink 方法

blink 方法
请参阅 		语言参考

String 对象的方法
String 对象的属性


bold 方法

bold 方法 		语言参考
版本 1

请参阅 应用于

描述
把 HTML <B> 标记放置在 String 对象中的文本两端。
语法
strVariable.bold( )
"String Literal".bold( )
说明
下面的示例说明了 bold 方法是如何工作的：
var strVariable = "This is a string object";
strVariable = strVariable.bold( );
最后一条语句执行完后，strVariable 的值是：
<B>This is a string object</B>
不检查该标记是否已经被应用于该字符串了。


bold 方法

bold 方法
应用于 		语言参考

String 对象


bold 方法

bold 方法
请参阅 		语言参考

italics 方法
String 对象的方法
String 对象的属性


charAt 方法

charAt 方法 		语言参考
版本 1

请参阅 应用于

描述
返回指定索引位置处的字符。
语法
strVariable.charAt(index)
"String Literal".charAt(index)

index 参数是想得到的字符的基于零的索引。有效值是 0 与字符串长度减 1 之间的值。

说明
charAt 方法返回一个字符值，该字符位于指定索引位置。字符串中的第一个字符的索引为 0，第二个的索引为 1，等等。超出有效范围的索引值返回 undefined。

下面的示例说明了 charAt 方法的用法：

function charAtTest(n)
{
  var str = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
  var s;
  s = str.charAt(n - 1);
  return(s);
}


charAt 方法

charAt 方法
应用于 		语言参考

String 对象


charAt 方法

charAt 方法
请参阅 		语言参考

String 对象的方法
String 对象的属性


charCodeAt 方法

charCodeAt 方法 		语言参考
版本 3

请参阅 应用于

描述
返回指定字符的 Unicode 编码。
语法
stringObj.charCodeAt(index)

charCodeAt 方法的语法组成如下：

部分 | 描述
stringObj | 必选项。一个 String 对象或文字。
index | 必选项。指定字符基于零的索引。

说明
如果在指定 index 处没有字符，则返回 NaN。

下面的示例说明了 charCodeAt 方法的用法：

function charCodeAtTest(n)
{
  var str = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
  var s;
  s = str.charCodeAt(n - 1);
  // 返回 Unicode 字符编码。
  return(s);
}


charCodeAt 方法

charCodeAt 方法
应用于 		语言参考

String 对象


charCodeAt 方法

charCodeAt 方法
请参阅 		语言参考

fromCharCode 方法
String 对象的方法


concat 方法（String）

concat 方法（String） 		语言参考
版本 3

请参阅 应用于

描述
返回一个 String 对象，该对象包含了两个提供的字符串的连接。
语法
string1.concat(string2)

concat 方法的语法组成如下：

部分 | 描述
string1 | 必选项。要和 string2 连接的 String 对象或文字。
string2 | 必选项。要连接到 string1 尾部的 String 对象或文字。

说明
concat 方法的结果等于： result = string1 + string2.

下面的示例说明了 concat 方法的用法：

function concatDemo()
{
  var str1 = "ABCDEFGHIJKLM"
  var str2 = "NOPQRSTUVWXYZ";
  var s = str1.concat(str2);
  // 返回连接好的字符串。
  return(s);
}


concat 方法（字符串）

concat 方法（字符串）
应用于 		语言参考

Array 对象
String 对象


concat 方法（字符串）

concat 方法（String）
请参阅 		语言参考

加法运算符(+)
concat 方法（Array）
String 对象的方法


fixed 方法

fixed 方法 		语言参考
版本 1

请参阅 应用于

描述
把 HTML <TT> 标记放置在 String 对象中的文本两端。
语法
strVariable.fixed( )
"String Literal".fixed( )
说明
下面的示例说明了 fixed 方法如何工作：
var strVariable = "This is a string object";
strVariable = strVariable.fixed( );
最后一条语句执行完后，strVariable 的值是：
<TT>This is a string object</TT>
不检查该标记是否已经被应用于该字符串了。


fixed 方法

fixed 方法
应用于 		语言参考

String 对象


fixed 方法

fixed 方法
请参阅 		语言参考

String 对象的方法
String 对象的属性


fontcolor 方法

fontcolor 方法 		语言参考
版本 1

请参阅 应用于

描述
把带有 COLOR 属性的一个 HTML <FONT> 标记放置在 String 对象中的文本两端。
语法
strVariable.fontcolor(colorval)
"String Literal".fontcolor(colorval)

colorval 参数是一个包含一颜色值的字符串。可以是颜色的十六进制值，或预先定义好的颜色名字。

说明
下面的示例说明了 fontcolor 方法：
var strVariable = "This is a string";
strVariable = strVariable.fontcolor("red");
最后一条语句执行完后，strVariable 的值是：
<FONT COLOR="RED">This is a string</FONT>
有效的预定义颜色名取决于 JScript 主机（浏览器，服务器，等等）。它们也可能由主机版本的不同而不同。请查阅主机的说明书来获得更多的信息。

不检查该标记是否已经被应用于该字符串了。


fontcolor 方法

fontcolor 方法
应用于 		语言参考

String 对象


fontcolor 方法

fontcolor 方法
请参阅 		语言参考

fontsize 方法
String 对象的方法
String 对象的属性


fontsize 方法

fontsize 方法 		语言参考
版本 1

请参阅 应用于

描述
把一个带有 SIZE 属性的 HTML <FONT> 标记放置在 String 对象中的文本的两端。
语法
strVariable.fontsize(intSize)
"String Literal".fontsize(intSize)

intSize 参数是一个整数值，用来决定文本的大小。

说明
下面的示例说明了 fontsize 方法的用法：
var strVariable = "This is a string";
strVariable = strVariable.fontsize(-1);
最后一条语句执行完后，strVariable 的值是：
<FONT SIZE="-1">This is a string</FONT>
有效的整数值取决`于 Microsoft JScript 主机。请参阅主机的说明书来获得更多的信息。

不检查该标记是否已经被应用于该字符串了。


fontsize 方法

fontsize 方法
应用于 		语言参考

String 对象


fontsize 方法

fontsize 方法
请参阅 		语言参考

fontcolor 方法
String 对象的方法
String 对象的属性


fromCharCode 方法

fromCharCode 方法 		语言参考
版本 3

请参阅 应用于

描述
从一些 Unicode 字符值中回一个字符串。
语法
String.fromCharCode(code1, code2, ..., coden)

code 参数是要转换为字符串的 Unicode 字符值序列。

说明
在调用 fromCharCode 前不必创建 String 对象。

在下面的例子中，test 包含字符串 "plain"：

var test = String.fromCharCode(112, 108, 97, 105, 110);


fromCharCode 方法

fromCharCode 方法
应用于 		语言参考

String 对象


fromCharCode 方法

fromCharCode 方法
请参阅 		语言参考

charCodeAt 方法
String 对象的方法


indexOf 方法

indexOf 方法 		语言参考
版本 1

请参阅 应用于

描述
返回 String 对象内第一次出现子字符串的字符位置。
语法
strVariable.indexOf(substring, startindex)
"String Literal".indexOf(substring, startindex)

indexOf 方法的语法参数有：

部分 | 描述
substring | 要在 String 对象中查找的子字符串。
startindex | 可选的整数值，指出在 String 对象内开始查找的索引。如果省略，则从字符串的开始处查找。

说明
indexOf 方法返回一个整数值，指出 String 对象内子字符串的开始位置。如果没有找到子字符串，则返回 -1。

如果 startindex 是负数，则 startindex 被当作零。如果它比最大的字符位置索引还大，则它被当作最大的可能索引。

从左向右执行查找。否则，该方法与 lastIndexOf 相同。

下面的示例说明了 indexOf 方法的用法：

function IndexDemo(str2)
{
  var str1 = "BABEBIBOBUBABEBIBOBU"
  var s = str1.indexOf(str2);
  return(s);
}


indexOf 方法

indexOf 方法
应用于 		语言参考

String 对象


indexOf 方法

indexOf 方法
请参阅 		语言参考

lastIndexOf 方法
String 对象的方法
String 对象的属性


italics 方法

italics 方法 		语言参考
版本 1

请参阅 应用于

描述
把 HTML <I> 标记放置在 String 对象中的文本两端。
语法
strVariable.italics( )
"String Literal".italics( )
说明
下面的示例说明了 italics 方法是如何工作的：
var strVariable = "This is a string";
strVariable = strVariable.italics( );
最后一条语句执行完后，strVariable 的值是：
<I>This is a string</I>
不检查该标记是否已经被应用于该字符串了。


italics 方法

italics 方法
应用于 		语言参考

String 对象


italics 方法

italics 方法
请参阅 		语言参考

bold 方法
String 对象的方法
String 对象的属性


lastIndexOf 方法

lastIndexOf 方法 		语言参考
版本 1

请参阅 应用于

描述
返回 String 对象中子字符串最后出现的位置。
语法
strVariable.lastIndexOf(substring, startindex)
"String Literal".lastIndexOf(substring, startindex)

lastIndexOf 方法的语法参数有：

部分 | 描述
substring | 要在 String 对象内查找的子字符串。
startindex | 可选的整数值，指出在 String 对象内进行查找的开始索引位置。如果省略，则查找从字符串的末尾开始。

说明
lastIndexOf 方法返回一个整数值，指出 String 对象内子字符串的开始位置。如果没有找到子字符串，则返回 -1。

如果 startindex 是负数，则 startindex 被当作零。如果它比最大字符位置索引还大，则它被当作最大的可能索引。

从右向左执行查找。否则，该方法和 indexOf 相同。

下面的示例说明了 lastIndexOf 方法的用法：

function lastIndexDemo(str2)
{
  var str1 = "BABEBIBOBUBABEBIBOBU"
  var s = str1.lastIndexOf(str2);
  return(s);
}


lastIndexOf 方法

lastIndexOf 方法
应用于 		语言参考

String 对象


lastIndexOf 方法

lastIndexOf 方法
请参阅 		语言参考

indexOf 方法
String 对象的方法
String 对象的属性


length 属性（字符串）

length 属性(字符串) 		语言参考
版本 1

请参阅 应用于

描述
返回 String 对象的长度。
语法
strVariable.length
"String Literal".length
说明
length 属性包含一个整数，用来指出 String 对象中的字符数。String 对象中的最后一个字符的索引为 length - 1。


length 属性（String）

length 属性（String）
应用于 		语言参考

String 对象


length 属性（String）

length 属性（String）
请参阅 		语言参考

length 属性（Array）
length 属性（Function）
String 对象的方法
String 对象的属性


link 方法

link 方法 		语言参考
版本 1

请参阅 应用于

描述
把一个有 HREF 属性的 HTML 锚点放置在 String 对象中的文本两端。
语法
strVariable.link(linkstring)
"String Literal".link(linkstring)

linkstring 参数是想要放置在 HTML 锚点的 HREF 属性中的文本。

说明
调用 link 方法来创建 String 对象外部的超链接。下面就是该方法如何实现这种功能的一个例子：
var strVariable = "This is a hyperlink";
strVariable = strVariable.link("http://www.microsoft.com");
最后一条语句执行完后，strVariable 的值是：
<a href="http://www.microsoft.com">This is a hyperlink</A>
不检查该标记是否已经被应用于该字符串了。


link 方法

link 方法
应用于 		语言参考

String 对象


link 方法

link 方法
请参阅 		语言参考

anchor 方法
String 对象的方法
String 对象的属性


match 方法

match 方法 		语言参考
版本 3

请参阅 应用于

描述
使用正则表达式对象对字符串进行查找，并将结果作为数组返回。
语法
stringObj.match(rgExp)

match 方法的语法包括下述部分：

部分 | 描述
stringObj | 必选项。对其进行查找的 String 对象或文字。
rgExp | 必选项。在查找中使用的正则表达式。

说明
match 方法与 exec 方法有些相似，将返回一个数组。该数组的元素 0 包含最后匹配的字符，元素 1...n 包含与正则表达式中任何用插入符分开的子字符串匹配的内容。

该方法将更新 RegExp 对象的内容。

下面的示例演示了match 方法的用法：

function MatchDemo()
{
  var r, re;
  var s = "The quick brown fox jumped over the lazy yellow dog.";
  re = /fox/i;
  r = s.match(re);
  return(r);
}


match 方法

match 方法
应用于 		语言参考

String 对象


match 方法

match 方法
请参阅 		语言参考

exec 方法
RegExp 对象
replace 方法
search 方法
String 对象的方法
test 方法


replace 方法

replace 方法 		语言参考
版本 3

请参阅 应用于

描述
返回根据正则表达式进行文字替换后的字符串的复制。
语法
stringObj.replace(rgExp, replaceText)

replace 方法的语法包括下述部分：

部分 | 描述
stringObj | 必选项。要执行该替换的 String 对象或文字。该对象不会被 replace 方法修改。
rgExp | 必选项。描述要查找的内容的一个正则表达式对象。
replaceText | 必选项。是一个String 对象或文字，对于stringObj 中每个匹配 rgExp 中的位置都用该对象所包含的文字加以替换。

说明
replace 方法的结果是一个完成了所有替换的 stringObj 对象的复制。

该方法将更新 RegExp 对象的内容。

下面的示例演示了 replace 方法的用法：

function ReplaceDemo()
{
  var r, re;
  var s = "The quick brown fox jumped over the lazy yellow dog.";
  re = /fox/i;
  r = s.replace(re, "pig");
  return(r);
}
另外, replace 方法也可以替换模式中的子表达式。 下面的范例演示了交换字符串中的每一对单词：
function ReplaceDemo()
{
  var r, re;
  var s = "The quick brown fox jumped over the lazy yellow dog.";
  re = /(\S+)(\s+)(\S+)/g;
  r = s.replace(re, "$3$2$1");	//交换每一对单词。
  return(r);
}


replace 方法

replace 方法
应用于 		语言参考

String 对象


replace 方法

replace 方法
请参阅 		语言参考

exec 方法
match 方法
RegExp 对象
search 方法
String 对象的方法
test 方法


search 方法

search 方法 		语言参考
版本 3

请参阅 应用于

描述
返回与正则表达式查找内容匹配的第一个子字符串的位置。
语法
stringObj.search(rgexp)

search 方法的语法包括下述部分：

部分 | 描述
stringObj | 必选项。进行查找的 String 对象或文字。
rgexp | 必选项。包含要查找的模式的正则表达式对象。

说明
search 方法指明是否存在相应的匹配。如果找到一个匹配，search 方法将返回一个整数值，指明这个匹配距离字符串开始的偏移位置。如果没有找到匹配，则返回 -1。要获得进一步的信息，请使用 match 方法。

下面的示例演示了 search 方法的用法：

function SearchDemo()
{
  var r, re;
  var s = "The quick brown fox jumped over the lazy yellow dog.";
  re = /fox/i;
  r = s.search(re);
  return(r);
}


search 方法

search 方法
应用于 		语言参考

String 对象


search 方法

search 方法
请参阅 		语言参考

exec 方法
match 方法
replace 方法
String 对象的方法
test 方法


slice 方法 (String)

slice 方法 (String) 		语言参考
版本 3

请参阅 应用于

描述
返回字符串的片段。
语法
stringObj.slice(start, [end])

slice 方法的语法包括下述部分：

部分 | 描述
stringObj | 必选项。是一个 String 对象或文字。
start | 必选项。下标以 0 开始的 stringObj 指定部分起始索引。
end | 可选项。下标以 0 起始的 stringObj 的指定部分结束索引。

说明
slice 方法返回一个包含 stringObj 的指定部分的 String 对象。

如果 end 是负数，就表示从 stringObj 结尾开始起算的一个正偏移量。另外，在此意义下，它不是从 0 开始起算的（例如， 如果 end =-1 则表示提取到字符串的结尾）。如果省略 end ，就一直提取到的 stringObj 结尾。

在下面的示例中，slice 方法的两种用法将返回相同的值。 第二个示例中的 -1 指向 str1 中的最后一个字符，并作为提取操作的结束位置：

str1.slice(0)
str2.slice(0,-1)


slice 方法 (String)

slice 方法 (String)
应用于 		语言参考

Array 对象
String 对象


slice 方法 (String)

slice 方法 (String)
请参阅 		语言参考

slice 方法 (Array)
String 对象的方法


small 方法

small 方法 		语言参考
版本 1

请参阅 应用于

描述
将 HTML 的<SMALL> 标识添加到String 对象中的文本两端。
语法
strVariable.small( )
"String Literal".small( )
说明
下面的示例演示了 small 方法是如何使用的：
var strVariable = "This is a string";
strVariable = strVariable.small( );
在上一条语句之后 strVariable 的值为：
<SMALL>This is a string</SMALL>
不检查该标识是否已应用于该字符串了。


small 方法

small 方法
应用于 		语言参考

String 对象


small 方法

small 方法
请参阅 		语言参考

big 方法
String 对象的方法
String 对象的属性


split 方法

split 方法 		语言参考
版本 3

请参阅 应用于

描述
将一个字符串分割为子字符串，然后将结果作为字符串数组返回。
语法
stringObj.split(str)

split 方法的语法包括下述部分：

部分 | 描述
stringObj | 必选项。要被分解的 String 对象或文字。该对象不会被 split 方法修改。
str | 必选项。是一个字符串或正则表达式对象，描述用来定义分解位置的字符。

说明
split 方法的结果是一个字符串数组，在 stingObj 中每个出现 str 的位置都要进行分解。

下面的示例演示了 split 方法的用法：

function SplitDemo()
{
  var s, ss;
  var s = "The quick brown fox jumped over the lazy yellow dog.";
  // 在每个空格字符处进行分解。
  ss = s.split(" ");
  return(ss);
}


split 方法

split 方法
应用于 		语言参考

String 对象


split 方法

split 方法
请参阅 		语言参考

concat 方法
RegExp 对象
正则表达式的语法
String 对象的方法


strike 方法

strike 方法 		语言参考
版本 1

请参阅 应用于

描述
将 HTML 的<STRIKE> 标识放置到 String 对象中的文本两端。
语法
strVariable.strike( )
"String Literal".strike( )
说明
下面的示例演示了strike 方法是如何使用的：
var strVariable = "This is a string object";
strVariable = strVariable.strike( );
在上一条语句之后 strVariable 的值为：
<STRIKE>This is a string object</STRIKE>
不检查该标识是否已应用于该字符串了。


strike 方法

strike 方法
应用于 		语言参考

String 对象


strike 方法

strike 方法
请参阅 		语言参考

String 对象的方法
String 对象的属性


sub 方法

sub 方法 		语言参考
版本 1

请参阅 应用于

描述
将 HTML 的 <SUB> 标识放置到 String 对象中的文本两端。
语法
strVariable.sub( )
"String Literal".sub( )
说明
下面的示例演示了 sub 方法是如何使用的：
var strVariable = "This is a string object"
strVariable = strVariable.sub( );
在执行上一条语句后 strVariable 的值为：
<SUB>This is a string object</SUB>
不检查该标识是否已应用于该字符串了。


sub 方法

sub 方法
应用于 		语言参考

String 对象


sub 方法

sub 方法
请参阅 		语言参考

String 对象的方法
String 对象的属性
sup 方法


substr 方法

substr 方法 		语言参考
版本 3

请参阅 应用于

描述
返回一个从指定位置开始的指定长度的子字符串。
语法
stringvar.substr(start [, length ])

substr 方法的语法包括下述部分：

部分 | 描述
stringvar | 必选项。要提取子字符串的字符串文字或 String 对象。
start | 必选项。所需的子字符串的起始位置。字符串中的第一个字符的索引为 0。
length | 可选项。在返回的子字符串中应包括的字符个数。

说明
如果 length 为 0 或负数，将返回一个空字符串。如果没有指定该参数，则子字符串将延续到 stringvar 的最后。

下面的示例演示了substr 方法的用法：

function SubstrDemo()
{
  var s, ss;
  var s = "The quick brown fox jumped over the lazy yellow dog.";
  ss = s.substr(16, 3);
  // Returns "fox".
  return(ss);
}


substr 方法

substr 方法
应用于 		语言参考

String 对象


substr 方法

substr 方法
请参阅 		语言参考

String 对象的方法
String 对象的属性
substring 方法


substring 方法

substring 方法 		语言参考
版本 1

请参阅 应用于

描述
返回位于 String 对象中指定位置的子字符串。
语法
strVariable.substring(start, end)
"String Literal".substring(start, end)

substring 方法的语法包括下述参数：

部分 | 描述
start | 指明子字符串的起始位置，该索引从 0 开始起算。
end | 指明子字符串的结束位置，该索引从 0 开始起算。

说明
substring 方法将返回一个包含从原始对象中获得的子字符串的 String 对象。

substring 方法使用 start 和 end 两者的较小值作为子字符串的起始点。例如， strvar.substring(0, 3) 和 strvar.substring(3, 0) 将返回相同的子字符串。

唯一的例外是对负参数的处理。如果第一个参数小于 0，则将作为 0 来处理。而如果第二个参数是负数，则将设置为第一个参数的值。

该子字符串的长度等于 start 和 end 差的绝对值。例如，在 strvar.substring(0, 3) 和 strvar.substring(3, 0) 返回的子字符串的的长度是 3。

最后，start 和 end 可以是字符串。在这种情况下，如果可能这些字符串将被强制转换为整数。如果不可能，参数的值将作为 0 进行处理。

下面的示例演示了 substring 方法的用法：

function SubstringDemo()
{
  var s, ss;
  var s = "The quick brown fox jumped over the lazy yellow dog.";
  ss = s.substring(16, 19);
  return(ss);
}


substring 方法

substring 方法
应用于 		语言参考

String 对象


substring 方法

substring 方法
请参阅 		语言参考

String 对象的方法
String 对象的属性
substr 方法


sup 方法

sup 方法 		语言参考
版本 1

请参阅 应用于

描述
将 HTML 的 <SUP> 标识放置到 String 对象中的文本两端。
语法
strVariable.sup( )
"String Literal".sup( )
说明
下面的示例演示了 sup 方法是如何使用的：
var strVariable = "This is a string object";
strVariable = strVariable.sup( );
在执行上一条语句后 strVariable 的值为：
<SUP>This is a string object</SUP>
不检查该标识是否已应用于该字符串了。


sup 方法

sup 方法
应用于 		语言参考

String 对象


sup 方法

sup 方法
请参阅 		语言参考

String 对象的方法
String 对象的属性
sub 方法


toLowerCase 方法

toLowerCase 方法 		语言参考
版本 1

请参阅 应用于

描述
返回一个字符串，该字符串中的字母被转换为小写字母。
语法
strVariable.toLowerCase( )
"String Literal".toLowerCase( )
说明
toLowerCase 方法对非字母字符不会产生影响。

下面的示例演示了 of the toLowerCase 方法的效果：

var strVariable = "This is a STRING object";
strVariable = strVariable.toLowerCase( );
在执行上一条语句后 strVariable 的值为：
this is a string object


toLowerCase 方法

toLowerCase 方法
应用于 		语言参考

String 对象


toLowerCase 方法

toLowerCase 方法
请参阅 		语言参考

String 对象的方法
String 对象的属性
toUpperCase 方法


toUpperCase 方法

toUpperCase 方法 		语言参考
版本 1

请参阅 应用于

描述
返回一个字符串，该字符串中的所有字母都被转化为大写字母。
语法
strVariable.toUpperCase( )
"String Literal".toUpperCase( )
说明
toUpperCase 方法对非字母字符不会产生影响。

下面的示例演示了 toUpperCase 方法的效果：

var strVariable = "This is a STRING object";
strVariable = strVariable.toUpperCase( );
在执行上一条语句后 strVariable 的值为：
THIS IS A STRING OBJECT


toUpperCase 方法

toUpperCase 方法
应用于 		语言参考

String 对象


toUpperCase 方法

toUpperCase 方法
请参阅 		语言参考

String 对象的方法
String 对象的属性
toLowerCase 方法


AtEndOfLine 属性

AtEndOfLine 属性 		Scripting 运行时库参考
版本 2

请参阅 应用于

描述
如果文件指针正好位于 TextStream 文件中的行尾符之前，则返回true，否则返回 false。只读。
语法
object.AtEndOfLine

object 总是 TextStream 对象的名称。

说明
AtEndOfLine 属性只能应用于打开用来读取的TextStream 文件；否则将产生错误。

下面的代码演示了AtEndOfLine 属性的用法：

function GetALine(filespec)
{
  var fso, a, s, ForReading;
  ForReading = 1, s = "";
  fso = new ActiveXObject("Scripting.FileSystemObject");
  a = fso.OpenTextFile(filespec, ForReading, false);
  while (!a.AtEndOfLine)
  {
    s += a.Read(1);
  }
  a.Close( );
  return(s);
}


AtEndOfLine 属性

AtEndOfLine 属性
应用于 		Scripting 运行时库参考

TextStream 对象


AtEndOfLine 属性

AtEndOfLine 属性
请参阅 		Scripting 运行时库参考

AtEndOfStream 属性


AtEndOfStream 属性

AtEndOfStream 属性 		Scripting 运行时库参考
版本 2

请参阅 应用于

描述
如果文件指针正好位于 TextStream 文件中的结尾，则返回true，否则返回 false。只读。
语法
object.AtEndOfStream

object 总是 TextStream 对象的名称。

说明
AtEndOfStream 属性只能应用于打开用来读取的TextStream 文件；否则将产生错误。

下面的代码演示了AtEndOfStream 属性的用法：

function GetALine(filespec)
{
  var fso, f, s, ForReading;
  ForReading = 1, s = "";
  fso = new ActiveXObject("Scripting.FileSystemObject");
  f = fso.OpenTextFile(filespec, ForReading, false);
  while (!f.AtEndOfStream)
    s += f.ReadLine( );
  f.Close( );
  return(s);
}


AtEndOfStream 属性

AtEndOfStream 属性
应用于 		Scripting 运行时库参考

TextStream 对象


AtEndOfStream 属性

AtEndOfStream 属性
请参阅 		Scripting 运行时库参考

AtEndOfLine 属性


Close 方法

Close 方法 		Scripting 运行时库参考
版本 2

请参阅 应用于

描述
关闭打开的 TextStream 文件。

语法
object.Close( );

object 总是 TextStream 对象的名称。

说明
下面的示例演示了Close 方法的用法:

var fso;
fso = new ActiveXObject("Scripting.FileSystemObject");
a = fso.CreateTextFile("c:\\testfile.txt", true);
a.WriteLine("This is a test.");
a.Close();


Close 方法

Close 方法
应用于 		Scripting 运行时库参考

TextStream 对象


Close 方法

Close 方法
请参阅 		Scripting 运行时库参考

Read 方法
Write 方法


Column 属性

Column 属性 		Scripting 运行时库参考
版本 2

请参阅 应用于

描述
为只读属性，返回当前字符在 TextStream 文件中的列号。

语法
object.Column

object 总是 TextStream 对象的名称。

说明
如果在已换行符之后，但在其他任何字符之前，Column 将等于 1。

下面的示例演示了Column 属性的用法：

function GetColumn()
{
  var fso, f, m;
  var ForReading = 1, ForWriting = 2;
  fso = new ActiveXObject("Scripting.FileSystemObject");
  f = fso.OpenTextFile("c:\\testfile.txt", ForWriting, true);
  f.Write("Hello World!");
  f.Close();
  f = fso.OpenTextFile("c:\\testfile.txt", ForReading);
  m = f.ReadLine();
  return(f.Column);
}


Column 属性

Column 属性
应用于 		Scripting 运行时库参考

TextStream 对象


Column 属性

Column 属性
请参阅 		Scripting 运行时库参考

Line 属性


Line 属性

Line 属性 		Scripting 运行时库参考
版本 2

请参阅 应用于

描述
只读属性，返回 TextStream 文件中当前的行号。

语法
object.Line

object 总是 TextStream 对象的名称。

说明
在文件初始打开并写入任何字符之前，Line 等于 1。

下面的示例演示了Line 属性的用法：

function GetLine()
{
  var fso, f, r
  var ForReading = 1, ForWriting = 2;
  fso = new ActiveXObject("Scripting.FileSystemObject")
  f = fso.OpenTextFile("c:\\textfile.txt", ForWriting, true)
  f.WriteLine("Hello world!");
  f.WriteLine("JScript is fun");
  f.Close();
  f = fso.OpenTextFile("c:\\textfile.txt", ForReading);
  r =  f.ReadAll();
  return(f.Line);
}


Line 属性

Line 属性
应用于 		Scripting 运行时库参考

TextStream 对象


Line 属性

Line 属性
请参阅 		Scripting 运行时库参考

Column 属性


Read 方法

Read 方法 		Scripting 运行时库参考
版本 2

请参阅 应用于

描述
从TextStream 文件中读取指定数量的字符，并返回由此得到的字符串。

语法
object.Read(characters)

Read 方法的语法包括下述部分：

部分 | 描述
object | 必选项。总是 TextStream 对象的名称。
characters | 必选项。要从该文件读取的字符个数。

下面的示例演示类如何使用 Read 方法来从文件中读取六个字符 Header，并返回获得的字符串：

function GetHeader()
{
  var fso, f;
  var ForReading = 1, ForWriting = 2;
  fso = new ActiveXObject("Scripting.FileSystemObject");
  f = fso.OpenTextFile("c:\\testfile.txt", ForWriting, true);
  f.Write("Header");
  f.Write("1234567890987654321");
  f.Close();
  f = fso.OpenTextFile("c:\\testfile.txt", ForReading);
  return(f.Read(6));
}


Read 方法

Read 方法
应用于 		Scripting 运行时库参考

TextStream 对象


ReadAll 方法

ReadAll 方法 		Scripting 运行时库参考
版本 2

请参阅 应用于

描述
读取 TextStream 文件的全部内容并返回由此得到的字符串。

语法
object.ReadAll( );

object 总是 TextStream 对象的名称。

说明
对大文件而言，使用 ReadAll 方法将会耗费内存资源。可以使用其他技术来输入一个文件，如逐行读取文件。

下面的示例演示了 ReadAll 方法的用法：

function GetEverything()
{
  var fso, f;
  var ForReading = 1, ForWriting = 2;
  fso = new ActiveXObject("Scripting.FileSystemObject");
  f = fso.OpenTextFile("c:\\testfile.txt", ForWriting, true);
  f.Write("Header");
  f.Write("1234567890987654321");
  f.Close();
  f = fso.OpenTextFile("c:\\testfile.txt", ForReading);
  return(f.ReadAll());
}


ReadAll 方法

ReadAll 方法
应用于 		Scripting 运行时库参考

TextStream 对象


ReadAll 方法

ReadAll 方法
请参阅 		Scripting 运行时库参考

Read 方法
ReadLine 方法
Skip 方法
SkipLine 方法


Read 方法

Read 方法
请参阅 		Scripting 运行时库参考

ReadAll 方法
ReadLine 方法
Skip 方法
SkipLine 方法


ReadLine 方法

ReadLine 方法 		Scripting 运行时库参考
版本 2

请参阅 应用于

描述
从TextStream 文件中读取一整行（一直到换行符，但不包括换行符），并返回由此得到的字符串。

语法
object.ReadLine( )

object 参数总是 TextStream 对象的名称。

说明
下面的示例演示了Line 属性的用法：

function GetLine()
{
  var fso, f, r;
  var ForReading = 1, ForWriting = 2;
  fso = new ActiveXObject("Scripting.FileSystemObject");
  f = fso.OpenTextFile("c:\\testfile.txt", ForWriting, true);
  f.WriteLine("Hello world!");
  f.WriteLine("JScript is fun");
  f.Close();
  f = fso.OpenTextFile("c:\\testfile.txt", ForReading);
  r =  f.ReadLine();
  return(r);
}


ReadLine 方法

ReadLine 方法
应用于 		Scripting 运行时库参考

TextStream 对象


ReadLine 方法

ReadLine 方法
请参阅 		Scripting 运行时库参考

Read 方法
ReadAll 方法
Skip 方法
SkipLine 方法


Skip 方法

Skip 方法 		Scripting 运行时库参考
版本 2

请参阅 应用于

描述
在读取 TextStream 文件时跳过指定个数的字符。

语法
object.Skip(characters)

Skip 方法的语法包括下述部分：

部分 | 描述
object | 必选项。总是某个 TextStream 对象的名称。
characters | 必选项。在读取文件时要跳过的字符个数。

说明
被跳过的字符即被放弃。

下面的示例演示了Skip 方法的用法：

function SkipDemo()
{
  var fso, f, r;
  var ForReading = 1, ForWriting = 2;
  fso = new ActiveXObject("Scripting.FileSystemObject")
  f = fso.OpenTextFile("c:\\testfile.txt", ForWriting, true);
  f.WriteLine("Hello world!");
  f.WriteLine("JScript is fun");
  f.Close();
  f = fso.OpenTextFile("c:\\testfile.txt", ForReading);
  f.Skip(6);
  r = f.ReadLine();
  return(r);
}


Skip 方法

Skip 方法
应用于 		Scripting 运行时库参考

TextStream 对象


Skip 方法

Skip 方法
请参阅 		Scripting 运行时库参考

Close 方法
Read 方法
ReadAll 方法
ReadLine 方法
SkipLine 方法
Write 方法
WriteLine 方法
WriteBlankLines 方法


SkipLine 方法

SkipLine 方法 		Scripting 运行时库参考
版本 2

请参阅 应用于

描述
在读取TextStream 文件时跳过下一行。

语法
object.SkipLine( )

object 总是一个 TextStream 对象的名称。

说明
下面的示例演示了SkipLine 方法的用法：

function SkipLineDemo()
{
  var fso, f, r
  var ForReading = 1, ForWriting = 2;
  fso = new ActiveXObject("Scripting.FileSystemObject")
  f = fso.OpenTextFile("c:\\testfile.txt", ForWriting, true)
  f.WriteLine("Hello world!");
  f.WriteLine("JScript is fun");
  f.Close();
  f = fso.OpenTextFile("c:\\testfile.txt", ForReading);
  f.SkipLine();
  r = f.ReadLine();
  return(r);
}


SkipLine 方法

SkipLine 方法
应用于 		Scripting 运行时库参考

TextStream 对象


SkipLine 方法

SkipLine 方法
请参阅 		Scripting 运行时库参考

Read 方法
ReadAll 方法
ReadLine 方法
Skip 方法


Write 方法

Write 方法 		Scripting 运行时库参考
版本 2

请参阅 应用于

描述
将给定的字符串写入到一个 TextStream 文件。

语法
object.Write(string)

Write 方法的语法包括下述部分：

部分 | 描述
object | 必选项。总是一个 TextStream 对象的名称。
string | 必选项。要写入文件的文本。

说明
给定的字符串在写入该文件时不会在字符串之间插入空格或字符。可以使用 WriteLine 方法来写入一个换行符或以换行符结束的字符串。

下面的示例演示了Write 方法的用法：

function WriteDemo()
{
  var fso, f, r
  var ForReading = 1, ForWriting = 2;
  fso = new ActiveXObject("Scripting.FileSystemObject")
  f = fso.OpenTextFile("c:\\testfile.txt", ForWriting, true)
  f.Write("Hello world!");
  f.Close();
  f = fso.OpenTextFile("c:\\testfile.txt", ForReading);
  r = f.ReadLine();
  return(r);
}


Write 方法

Write 方法
应用于 		Scripting 运行时库参考

TextStream 对象


WriteBlankLines 方法

WriteBlankLines 方法 		Scripting 运行时库参考
版本 2

请参阅 应用于

描述
将指定数量的换行符写入到一个 TextStream 文件。

语法
object.WriteBlankLines(lines)

WriteBlankLines 方法的语法包括下述部分：

部分 | 描述
object | 必选项。总是一个 TextStream 对象的名称。
lines | 必选项。要写入该文件的换行符的个数。

说明
下面的示例演示了WriteBlankLines 方法的用法：

function WriteBlanksDemo()
{
  var fso, f, r;
  var ForReading = 1, ForWriting = 2;
  fso = new ActiveXObject("Scripting.FileSystemObject");
  f = fso.OpenTextFile("c:\\testfile.txt", ForWriting, true);
  f.Write("Hello world!");
  f.WriteBlankLines(2);
  f.Write("JScript is fun!");
  f.Close();
  f = fso.OpenTextFile("c:\\testfile.txt", ForReading);
  r = f.ReadAll();
  return(r);
}


WriteBlankLines 方法

WriteBlankLines 方法
应用于 		Scripting 运行时库参考

TextStream 对象


WriteBlankLines 方法

WriteBlankLines 方法
请参阅 		Scripting 运行时库参考

Write 方法
WriteLine 方法


Write 方法

Write 方法
请参阅 		Scripting 运行时库参考

WriteBlankLines 方法
WriteLine 方法


WriteLine 方法

WriteLine 方法 		Scripting 运行时库参考
版本 2

请参阅 应用于

描述
向 TextStream 文件中写入给定的字符串和一个换行符。

语法
object.WriteLine([string])

WriteLine 方法的语法包括下述部分：

部分 | 描述
object | 必选项。总是一个 TextStream 对象的名称。
string | 可选项。要写入该文件的文本。如果忽略该参数，则向该文件写入一个换行符。

说明
下面的示例演示了WriteLine 方法的用法：

var fso, f;
fso = new ActiveXObject("Scripting.FileSystemObject");
f = fso.CreateTextFile("c:\\testfile.txt", true);
f.WriteLine("This is a test.");
f.Close();


WriteLine 方法

WriteLine 方法
应用于 		Scripting 运行时库参考

TextStream 对象


WriteLine 方法

WriteLine 方法
请参阅 		Scripting 运行时库参考

Write 方法
WriteBlankLines 方法


Microsoft(R) JScript 语言参考

JScript 语言参考 		JScript 教程
版本信息

特性信息
字母顺序关键字列表
错误
函数
方法
对象
运算符
属性
语句
(C) 2000 Microsoft Corporation. All Rights Reserved!


JScript 教程

JScript 教程
 JScript 语言参考

什么是 JScript ？
JScript 基础教程
JScript 高级教程


数据类型转换

数据类型转换 		语言参考
版本 3

描述
Microsoft JScript 能根据上下文的需要提供自动的类型转换。这就意味着，例如，当上下文希望某个值为一个字符串时，JScript 将试图将这个值转换为一个字符串。

该语言有六种数据类型。所有的值均为下述类型之一：

undefined
undefined 类型只有一个值，即 undefined。
Null
null 类型只有一个值，即 null。
Boolean
Boolean 类型代表两个逻辑值，即 true 和 false。
String
Strings 用单引号或双引号指明，其中包括零个或多个 Unicode 字符。空字符串包含零个字符，其长度也为 0。
Number
Number 类型可以是按照 IEEE 754 规范的整数或浮点数。另外还有一些特殊值：
  • NaN，即不是一个 Number 类型的值
  • 正无穷
  • 负无穷
  • 正数零
  • 负数零
Object
Object 类型是一个包括其属性集和方法集的对象定义。
下表定义了当上下文要求 JScript 将一种数据类型转换为另一种类型时的相应情况：

输出数据类型 | 输入数据类型
Undefined | Null | Boolean | Number | String | Object
boolean | false | false | 不用转换 | 如果输入为 +0、-0 或 NaN 则为 false；否则为 true | 如果输入为空字符串("")，则为 false；否则为 true | true
number | NaN | NaN | 如果输入为 true，则为 1；如果输入为 false ，则为 +0 | 不用转换 | 如果不能解释为一个数，则认为是 NaN | Number 对象
string "undefined" "null" "true" 或 "false" 该数的绝对值加上其符号，但下面的值例外：
  • NaN 返回 "NaN"
  • +0 或 -0 返回 "0"
  • 正无穷返回 "Infinity"
  • 负无穷返回 "-Infinity"
            • 不用转换 String 对象
    object | 运行时错误 | 运行时错误 | 新建 Boolean 对象 | 新建 Number 对象 | 新建 String 对象 | 不用转换


dimensions 方法

dimensions 方法 		语言参考
版本 3

请参阅 应用于

描述
返回 VBArray 的维数。
语法
array.dimensions( )

array 参数为一个 VBArray 对象。

说明
dimensions 方法提供了一个获取指定的 VBArray 维数的方法。

下面的示例包括三个部分。第一部分是用来创建一个 Visual Basic 安全数组的 VBScript 代码。第二部分是 JScript 代码，确定该安全数组的维数和每一维的上界。这两部分都放在 HTML 页中的 <HEAD> 部分。第三部分是位于 <BODY> 部分的 JScript 代码，用来运行其他两个部分。

<HEAD>
<SCRIPT LANGUAGE="VBScript">
<!--
Function CreateVBArray()
  Dim i, j, k
  Dim a(2, 2)
  k = 1
  For i = 0 To 2
    For j = 0 To 2
      a(j, i) = k
      k = k + 1
    Next
  Next
  CreateVBArray = a
End Function
-->
</SCRIPT>

<SCRIPT LANGUAGE="JScript">
<!--
function VBArrayTest(vba)
{
  var i, s;
  var a = new VBArray(vba);
  for (i = 1; i <= a.dimensions(); i++)
  {
    s = "The upper bound of dimension ";
    s += i + " is ";
    s += a.ubound(i)+ ".<BR>";
  }
  return(s);
}
-->
</SCRIPT>
</HEAD>

<BODY>
<SCRIPT language="jscript">
  document.write(VBArrayTest(CreateVBArray()));
</SCRIPT>
</BODY>


dimensions 方法

dimensions 方法
应用于 		语言参考

VBArray 对象


dimensions 方法

dimensions 方法
请参阅 		语言参考

getItem 方法
lbound 方法
toArray 方法
ubound 方法


getItem 方法

getItem 方法 		语言参考
版本 3

请参阅 应用于

描述
返回指定位置的项。
语法
safeArray.getItem(dimension1[, dimension2, ...], dimensionn)

getItem 方法的语法包括下述部分：

部分 | 描述
safeArray | 必选项。是一个 VBArray 对象。
dimension1, ..., dimensionn | 指定所需的 VBArray 元素的确切位置。 n 等于 VBArray 的维数。

下面的示例包括三个部分。第一部分是用来创建一个 Visual Basic 安全数组的 VBScript 代码。第二部分是 JScript 代码，遍历该安全数组并打印每个元素的内容。这两部分都放在 HTML 页中的 <HEAD> 部分。第三部分是位于 <BODY> 部分的 JScript 代码，用来运行其他两个部分。

<HEAD>
<SCRIPT LANGUAGE="VBScript">
<!--
Function CreateVBArray()
  Dim i, j, k
  Dim a(2, 2)
  k = 1
  For i = 0 To 2
    For j = 0 To 2
      a(i, j) = k
      document.writeln(k)
      k = k + 1
    Next
    document.writeln("<BR>")
  Next
  CreateVBArray = a
End Function
-->
</SCRIPT>
<SCRIPT LANGUAGE="JScript">
<!--
function GetItemTest(vbarray)
{
  var i, j;
  var a = new VBArray(vbarray);
  for (i = 0; i <= 2; i++)
  {
    for (j =0; j <= 2; j++)
    {
      document.writeln(a.getItem(i, j));
    }
  }
}-->
</SCRIPT>
</HEAD>
<BODY>
<SCRIPT LANGUAGE="JScript">
<!--
  GetItemTest(CreateVBArray());
-->
</SCRIPT>
</BODY>


getItem 方法

getItem 方法
应用于 		语言参考

VBArray 对象


getItem 方法

getItem 方法
请参阅 		语言参考

dimensions 方法
lbound 方法
toArray 方法
ubound 方法


lbound 方法

lbound 方法 		语言参考
版本 3

请参阅 应用于

描述
返回在 VBArray 的指定维中所使用的最小索引值。
语法
safeArray.lbound(dimension)

lbound 方法的语法包括下述部分：

部分 | 描述
safeArray | 必选项。是一个 VBArray 对象。
dimension | 可选项。要获知其索引下界的 VBArray 的维数。如果忽略，lbound 将该参数作为 1 进行处理。

说明
如果 VBArray 为空，lbound 方法将返回 undefined。如果 dimension 大于 VBArray 的维数或为负数，该方法将产生一个“下标越界”的错误。

下面的示例包括三个部分。第一部分是用来创建一个 Visual Basic 安全数组的 VBScript 代码。第二部分是 JScript 代码，确定该安全数组的维数和每一维的下界。由于该安全数组是用 VBScript 而不是 Visual Basic 创建的，因此下界始终为 0。这两部分都放在 HTML 页中的 <HEAD> 部分。第三部分是位于 <BODY> 部分的 JScript 代码，用来运行其他两个部分。

<HEAD>
<SCRIPT LANGUAGE="VBScript">
<!--
Function CreateVBArray()
  Dim i, j, k
  Dim a(2, 2)
  k = 1
  For i = 0 To 2
    For j = 0 To 2
      a(j, i) = k
      k = k + 1
    Next
  Next
  CreateVBArray = a
End Function
-->
</SCRIPT>

<SCRIPT LANGUAGE="JScript">
<!--
function VBArrayTest(vba)
{
  var i, s;
  var a = new VBArray(vba);
  for (i = 1; i <= a.dimensions(); i++)
  {
    s = "The lower bound of dimension ";
    s += i + " is ";
    s += a.lbound(i)+ ".<BR>";
    return(s);
  }
}
-->
</SCRIPT>
</HEAD>

<BODY>
<SCRIPT language="jscript">
  document.write(VBArrayTest(CreateVBArray()));
</SCRIPT>
</BODY>


lbound 方法

lbound 方法
应用于 		语言参考

VBArray 对象


lbound 方法

lbound 方法
请参阅 		语言参考

dimensions 方法
getItem 方法
toArray 方法
ubound 方法


toArray 方法

toArray 方法 		语言参考
版本 3

请参阅 应用于

描述
返回一个由 VBArray 转换而来的标准 JScript 数组。
语法
safeArray.toArray( )

safeArray 参数是一个 VBArray 对象。

说明
该转换将多维的 VBArray 翻译成一个一维的 JScript 数组。每个后续维被添加到前一维的结尾。例如，一个三维的且每一维有三个元素的 VBArray 将被转换为如下所示的 JScript 数组：

假定该 VBArray 包含：(1, 2, 3), (4, 5, 6), (7, 8, 9)。在转换后，JScript 数组将包含：1, 2, 3, 4, 5, 6, 7, 8, 9。

现在没有将 JScript 数组转换为 VBArray 的方法。

下面的示例包括三个部分。第一部分是用来创建一个 Visual Basic 安全数组的 VBScript 代码。第二部分是 JScript 代码，将这个 VB 安全数组转换为一个 JScript 数组。这两部分都放在 HTML 页中的 <HEAD> 部分。第三部分是位于 <BODY> 部分的 JScript 代码，用来运行其他两个部分。

<HEAD>
<SCRIPT LANGUAGE="VBScript">
<!--
Function CreateVBArray()
  Dim i, j, k
  Dim a(2, 2)
  k = 1
  For i = 0 To 2
    For j = 0 To 2
      a(j, i) = k
      document.writeln(k)
      k = k + 1
    Next
    document.writeln("<BR>")
  Next
  CreateVBArray = a
End Function
-->
</SCRIPT>
<SCRIPT LANGUAGE="JScript">
<!--
function VBArrayTest(vbarray)
{
  var a = new VBArray(vbarray);
  var b = a.toArray();
  var i;
  for (i = 0; i < 9; i++)
  {
    document.writeln(b[i]);
  }
}
-->
</SCRIPT>
</HEAD>
<BODY>
<SCRIPT LANGUAGE="JScript">
<!--
  VBArrayTest(CreateVBArray());
-->
</SCRIPT>
</BODY>


toArray 方法

toArray 方法
应用于 		语言参考

VBArray 对象


toArray 方法

toArray 方法
请参阅 		语言参考

dimensions 方法
getItem 方法
lbound 方法
ubound 方法


ubound 方法

ubound 方法 		语言参考
版本 3

请参阅 应用于

描述
返回在 VBArray 的指定维中所使用的最大索引值。
语法
safeArray.ubound(dimension)

ubound 方法的语法包括下述部分：

部分 | 描述
safeArray | 必选项。是一个 VBArray 对象。
dimension | 可选项。要获知其索引上界的 VBArray 的维数。如果忽略，ubound 将该参数作为 1 进行处理。

说明
如果 VBArray 为空，ubound 方法将返回 undefined。如果 dim 大于 VBArray 的维数或为负数，该方法将产生一个“下标越界”的错误。

下面的示例包括三个部分。第一部分是用来创建一个 Visual Basic 安全数组的 VBScript 代码。第二部分是 JScript 代码，确定该安全数组的维数和每一维的上界。这两部分都放在 HTML 页中的 <HEAD> 部分。第三部分是位于 <BODY> 部分的 JScript 代码，用来运行其他两个部分。

<HEAD>
<SCRIPT LANGUAGE="VBScript">
<!--
Function CreateVBArray()
  Dim i, j, k
  Dim a(2, 2)
  k = 1
  For i = 0 To 2
    For j = 0 To 2
      a(j, i) = k
      k = k + 1
    Next
  Next
  CreateVBArray = a
End Function
-->
</SCRIPT>

<SCRIPT LANGUAGE="JScript">
<!--
function VBArrayTest(vba)
{
  var i, s;
  var a = new VBArray(vba);
  for (i = 1; i <= a.dimensions(); i++)
  {
    s = "The upper bound of dimension ";
    s += i + " is ";
    s += a.ubound(i)+ ".<BR>";
    return(s);
  }
}
-->
</SCRIPT>
</HEAD>

<BODY>
<SCRIPT language="jscript">
  document.write(VBArrayTest(CreateVBArray()));
</SCRIPT>
</BODY>


ubound 方法

ubound 方法
应用于 		语言参考

VBArray 对象


ubound 方法

ubound 方法
请参阅 		语言参考

dimensions 方法
getItem 方法
lbound 方法
toArray 方法


版本信息

版本信息 		语言参考

下表列出了主机应用程序实现的 Microsoft JScript 版本。

主机应用程序 | JScript 版本
1.0 | 2.0 | 3.0 | 4.0 | 5.0
Microsoft Internet Explorer 3.0 | x
Microsoft Internet 信息服务 1.0 | x
Microsoft Internet Explorer 4.0 | x
Microsoft Internet 信息服务 4.0 | x
Microsoft Windows Scripting Host 1.0 | x
Microsoft Visual Studio 6.0 | x
Microsoft Internet Explorer 5.0 | x
Microsoft Internet 信息服务 5.0 | x

下表列出了首次发布时 JScript 语言特性和版本。

语言元素 | 首次发布的版本
1.0 | 2.0 | 3.0 | 4.0 | 5.0
$1...$9 属性 | x
abs 方法 | x
acos 方法 | x
ActiveXObject 对象 | x
加法运算符 (+) | x
anchor 方法 | x
arguments 属性 | x
Array 对象 | x
asin 方法 | x
赋值运算符 (=) | x
atan 方法 | x
atan2 方法 | x
atEnd 方法 | x
big 方法 | x
逐位与运算符 (&) | x
逐位左移运算符 (<<) | x
逐位非运算符 (~) | x
逐位或运算符 (|) | x
逐位右移运算符 (>>) | x
逐位异或运算符 (^) | x
blink 方法 | x
bold 方法 | x
Boolean 对象 | x
break 语句 | x
caller 属性 | x
catch 语句 | x
@cc_on 语句 | x
ceil 方法 | x
charAt 方法 | x
charCodeAt 方法 | x
逗号运算符 (,) | x
// (单行注释语句) | x
/*..*/ (多行注释语句） | x
比较运算符 | x
compile 方法 | x
concat 方法 (数组) | x
concat 方法 (字符串) | x
条件编译 | x
条件编译变量 | x
条件(三目)运算符 (?:) | x
constructor 属性 | x
continue 语句 | x
cos 方法 | x
数据类型转换 | x
Date 对象 | x
-- 运算符 (--) | x
delete 运算符 | x
description 属性 | x
dimensions 方法 | x
除法运算符 (/) | x
do...while 语句 | x
E 属性 | x
Enumerator 对象 | x
恒等运算符 (==) | x
Error 对象 | x
escape 方法 | x
eval 方法 | x
exec 方法 | x
exp 方法 | x
fixed 方法 | x
floor 方法 | x
fontcolor 方法 | x
fontsize 方法 | x
for 语句 | x
for...in 语句 | x
fromCharCode 方法 | x
Function 对象 | x
Function 语句 | x
getDate 方法 | x
getDay 方法 | x
getFullYear 方法 | x
getHours 方法 | x
getItem 方法 | x
getMilliseconds 方法 | x
getMinutes 方法 | x
getMonth 方法 | x
GetObject 函数 | x
getSeconds 方法 | x
getTime 方法 | x
getTimezoneOffset 方法 | x
getUTCDate 方法 | x
getUTCDay 方法 | x
getUTCFullYear 方法 | x
getUTCHours 方法 | x
getUTCMilliseconds 方法 | x
getUTCMinutes 方法 | x
getUTCMonth 方法 | x
getUTCSeconds 方法 | x
getVarDate 方法 | x
getYear 方法 | x
Global 对象 | x
大于运算符 (>) | x
大于等于运算符 (>=) | x
等于运算符 (===) | x
@if 语句 | x
if...else 语句 | x
++ 运算符 (++) | x
index 属性 | x
indexOf 方法 | x
不等于运算符 (!=) | x
Infinity 属性 | x
input 属性 | x
instanceof 运算符 | x
isFinite 方法 | x
isNaN 方法 | x
italics 方法 | x
item 方法 | x
join 方法 | x
Labeled 语句 | x
lastIndex 属性 | x
lastIndexOf 方法 | x
lbound 方法 | x
length 属性 (Array) | x
length 属性 (函数) | x
length 属性 (String) | x
小于运算符 (<) | x
小于等于运算符 (<=) | x
link 方法 | x
LN2 属性 | x
LN10 属性 | x
log 方法 | x
LOG2E 属性 | x
LOG10E 属性 | x
逻辑与运算符 (&&) | x
逻辑非运算符 (!) | x
逻辑或运算符 (||) | x
match 方法 | x
Math 对象 | x
max 方法 | x
MAX_VALUE 属性 | x
min 方法 | x
MIN_VALUE 属性 | x
模运算符 (%) | x
moveFirst 方法 | x
moveNext 方法 | x
乘法运算符 (*) | x
NaN 属性 (Global) | x
NaN 属性 (Number) | x
NEGATIVE_INFINITY 属性 | x
new 运算符 | x
不恒等运算符 (!==) | x
Number 对象 | x
number 属性 | x
Object 对象 | x
运算符优先级 | x
parse 方法 | x
parseFloat 方法 | x
parseInt 方法 | x
PI 属性 | x
POSITIVE_INFINITY 属性 | x
pow 方法 | x
prototype 属性 | x
random 方法 | x
RegExp 对象 | x
正则表达式对象 | x
正则表达式语法 | x
replace 方法 | x
return 语句 | x
reverse 方法 | x
round 方法 | x
ScriptEngine 函数 | x
ScriptEngineBuildVersion 函数 | x
ScriptEngineMajorVersion 函数 | x
ScriptEngineMinorVersion 函数 | x
search 方法 | x
@set 语句 | x
setDate 方法 | x
setFullYear 方法 | x
setHours 方法 | x
setMilliseconds 方法 | x
setMinutes 方法 | x
setMonth 方法 | x
setSeconds 方法 | x
setTime 方法 | x
setUTCDate 方法 | x
setUTCFullYear 方法 | x
setUTCHours 方法 | x
setUTCMilliseconds 方法 | x
setUTCMinutes 方法 | x
setUTCMonth 方法 | x
setUTCSeconds 方法 | x
setYear 方法 | x
sin 方法 | x
slice 方法 (Array) | x
slice 方法 (String) | x
small 方法 | x
sort 方法 | x
source 属性 | x
split 方法 | x
sqrt 方法 | x
SQRT1_2 属性 | x
SQRT2 属性 | x
strike 方法 | x
String 对象 | x
sub 方法 | x
substr 方法 | x
substring 方法 | x
减法运算符 (-) | x
sup 方法 | x
switch 语句 | x
tan 方法 | x
test 方法 | x
this 语句 | x
throw 语句 | x
toArray 方法 | x
toGMTString 方法 | x
toLocaleString 方法 | x
toLowerCase 方法 | x
toString 方法 | x
toUpperCase 方法 | x
toUTCString 方法 | x
try 语句 | x
typeof 运算符 | x
ubound 方法 | x
单目取负运算符(-) | x
unescape 方法 | x
无符号右移运算符(>>>) | x
UTC 方法 | x
valueOf 方法 | x
var 语句 | x
VBArray 对象 | x
Void 运算符 | x
while 语句 | x
with 语句 | x