JScript核心對象詳述
描述 | 语言要素 |
---|---|
启用并返回一个 Automation 对象的引用。 | ActiveXObject 对象 |
提供对创建任何数据类型的数组的支持。 | Array 对象 |
创建一个新的 Boolean 值。 | Boolean 对象 |
提供日期和时间的基本存储和检索。 | Date 对象 |
存储数据键、项对的对象。 | Dictionary 对象 |
提供集合中的项的枚举。 | Enumerator 对象 |
包含在运行 JScript 代码时发生的错误的有关信息。 | Error 对象 |
提供对计算机文件系统的访问。 | FileSystemObject 对象 |
创建一个新的函数。 | Function 对象 |
是一个内部对象,目的是将全局方法集中在一个对象中。 | Global 对象 |
一个内部对象,提供基本的数学函数和常数。 | Math 对象 |
表示数值数据类型和提供数值常数的对象。 | Number 对象 |
提供所有的 JScript 对象的公共功能。 | Object 对象 |
存储有关正则表达式模式查找的信息。 | RegExp 对象 |
包含一个正则表达式模式。 | 正则表达式对象 |
提供对文本字符串的操作和格式处理,判定在字符串中是否存在某个子字符串及确定其位置。 | String 对象 |
提供对 Visual Basic 安全数组的访问。 | VBArray 对象 |
1.String 对象
可用于处理或格式化文本字符串以及确定和定位字符串中的子字符串。
语法
newString = new String(["stringLiteral"])
参数
newString
必选项。要赋值为 String 对象的变量名。
stringLiteral
可选项。任意 Unicode 字符群。
说明
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 对象和字符串文字的处理不同的唯一情况。
属性
constructor 属性 | length 属性 | 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 方法
2.Array 对象
提供对创建任何数据类型的数组的支持。
arrayObj = new Array()
arrayObj = new Array([size])arrayObj = new Array([element0[, element1[, ...[, elementN]]]])
参数
arrayObj
必选项。要赋值为 Array 对象的变量名。
size
可选项。可选项数组的大小。由于数组的下标是从零开始,创建的元素的下标将从零到 size -1。
element0,...,elementN
可选项。要放到数组中的元素。这将创建具有 n + 1 个元素的长度为 n + 1 的数组。使用该语法时必须有一个以上元素。
说明
创建数组后,能够用 [ ] 符号访问数组单个元素,例如:
var my_array = new Array(); for (i = 0; i < 10; i++)
{my_array[i] = i;
}
x = my_array[4];
由于 Microsoft JScript 中的数组的下标是从零开始的,前面例子中最后一条语句访问数组的第五个元素。该元素中保存的值是 4。
如果只向 Array 的构造函数传递了一个参数,而该参数是数字,则它必须是无符号32位整数(大约40亿)。该值成为数组的大小。如果该值为数值,但小于0或不为整数,发生运行时错误。
如果传递给 Array 构造函数的是单个值并且不是数值,设置 length 属性为1,而且唯一的元素值成为单个的传入的参数。
请注意 JScript 数组为解析数组,也就是尽管可以分配多个元素给一个数组,但实际上只有包含数据的元素才存在。这减少了数组使用的内存数量。
属性
constructor 属性 | length 属性 | prototype 属性
方法
concat 方法 | join 方法 | pop 方法 | push 方法 | reverse 方法 | shift 方法 | slice 方法 | sort 方法 | splice 方法 | toLocaleString 方法 | toString 方法 | unshift 方法 | valueOf 方法
3.Date 对象
启用基本存储器并取得日期和时间。
dateObj = new Date()
dateObj = new Date(dateVal)
dateObj = new Date(year, month, date[, hours[, minutes[, seconds[,ms]]]])
参数
dateObj
必选项。要赋值为 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 对象的用法。
function DateDemo(){ var d, s = "Today's date is: "; //
声明变量。d = new Date(); //
创建Date
对象。s += (d.getMonth() + 1) + "/"; //
获取月份。s += d.getDate() + "/"; //
获取日。s += d.getYear(); //
获取年份。return(s); //
返回日期。 }
属性
constructor 属性 | 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 方法 | parse 方法 | UTC 方法
4.Object 对象
提供所有 JScript 对象通用的功能。
obj = new Object([value])
参数
obj
必选项。要赋值为 Object 对象的变量名。
value
可选项。任意一种 JScript 基本数据类型。(Number、Boolean、或 String。)如果 value 为一个对象,返回不作改动的该对象。如果 value 为 null、undefined,或者没有给出,则产生没有内容的对象。
说明
Object 对象被包含在所有其它 JScript 对象中;在所有其它对象中它的方法和属性都是可用的。在用户定义的对象中可以重定义这些方法,并在适当的时候通过 JScript 调用。toString 方法是经常被重定义的 Object 方法的例子。
在本语言参考中,每个 Object 方法的说明包括默认的和与对象相关固有 JScript 对象的实现信息。
属性
prototype 属性 | constructor 属性
方法
toLocaleString 方法 | toString 方法 | valueOf 方法
5.ActiveXObject 对象
启用并返回 Automation 对象的引用。
newObj = new ActiveXObject(servername.typename[, location])
ActiveXObject 对象语法有这些部分:
参数
newObj
必选项。要赋值为 ActiveXObject 的变量名。
servername
必选项。提供该对象的应用程序的名称。
typename
必选项。要创建的对象的类型或类。
location
可选项。创建该对象的网络服务器的名称。
说明
Automation 服务器至少提供一类对象。例如,字处理应用程序可能提供应用程序对象、文档对象和工具栏对象。
要创建 Automation 对象,将新的 ActiveXObject 赋给对象变量:
var ExcelSheet;
ExcelApp = new ActiveXObject("Excel.Application");
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();
只有当 Internet 安全性关闭时才能完成在远程服务器中创建对象。要在远程网络计算机创建对象,可以将该计算机的名称传递给 ActiveXObject 的 servername 参数。该名称与共享名的机器名部分相同。比如共享名为 "//myserver/public" 的网络,servername 是 "myserver"。另外,可以用 DNS 格式或 IP 地址指定 servername。
下面的代码返回在名为 "myserver" 的远程网络计算机上运行的 Excel 实例的版本号:
function GetAppVersion() {
var XLApp = new ActiveXObject("Excel.Application", "MyServer");
return(XLApp.Version);
}
如果指定的远程服务器不存在或找不到时将发生错误。
6.RegExp 对象
保存有关正则表达式模式匹配信息的固有全局对象。
RegExp.property
必选项 property 参数是 RegExp 对象的任意一个属性。
说明
RegExp 对象不能直接创建,但始终可以使用。在成功的正则表达式查找完成之前,RegExp 对象各属性的初始值如下所示:
属性 | 简写 | 初始值 |
---|---|---|
index | -1 | |
lastIndex | -1 | |
lastMatch | $& | 空字符串。 |
lastParen | $+ | 空字符串。 |
leftContext | 空字符串。 | |
rightContext | 空字符串。 | |
$1 - $9 | $1 - $9 | 空字符串。 |
在成功的正则表达式查找完成之前,其属性值为 undefined。
不要将全局 RegExp 对象与 正则表达式 对象混淆。尽管听起来像是一回事,但它们是截然不同的。全局 RegExp 对象的属性包含不断更新的关于每个匹配出现的信息,而正则表达式对象只包含出现正则表达式匹配的信息。
示例
下面的例子演示了全局 RegExp 对象的用法。
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 + "/n";
s += "$2 contains: " + RegExp.$2 + "/n";
s += "$3 contains: " + RegExp.$3;
return(s);
}
属性
$1...$9 属性 | index 属性 | input 属性 | lastIndex 属性 | lastMatch 属性 | lastParen 属性 | leftContext 属性 | rightContext 属性
方法
RegExp 对象没有方法。
7.正则表达式对象
本对象包含正则表达式模式以及表明如何应用模式的标志。
语法 1
re = /pattern/[flags]
语法 2
re = new RegExp("pattern",["flags"])
参数
re
必选项。将要赋值为正则表达式模式的变量名。
Pattern
必选项。要使用的正则表达式模式。如果使用语法 1,用 "/" 字符分隔模式。如果用语法 2,用引号将模式引起来。
flags
可选项。如果使用语法 2 要用引号将 flag 引起来。标志可以组合使用,可用的有:
- g (全文查找出现的所有 pattern)
- i (忽略大小写)
- m (多行查找)
说明
不要将正则表达式对象跟全局 RegExp 对象混淆。尽管听起来像是一回事,但它们是截然不同的。正则表达式对象的属性只包含一个正则表达式的信息,而全局 RegExp 对象的属性包含了不断更新的每一个匹配出现的信息。
正则表达式对象保存用于查找字符串中的字符组合时的模式。创建正则表达式对象后,或者它被传递给字符串方法,或者字符串被传递给一个正则表达式方法。有关最近进行查找的信息被保存在全局 RegExp 对象中。
当预先知道查找字符串时用语法 1。当查找字符串经常变动或不知道时用语法 2,比如由用户输入得到的字符串。
在使用前 pattern 参数被编译为内部格式。对语法 1 来说,pattern 在该脚本被装载时被编译。对语法 2 来说,pattern 在使用前,或调用 compile 方法时被编译。
示例
下面的示例创建一个包含正则表达式模式及相关标志的对象(re),向您演示正则表达式对象的用法。在本例中,作为结果的正则表达式对象又用于 match 方法中:
function MatchDemo(){ var r, re; //
声明变量。var s = "The rain in Spain falls mainly in the plain";
re = new RegExp("Spain","i"); //
创建正则表达式对象。r = s.match(re); //
在字符串s
中查找匹配。return(r); //
返回匹配结果。 }
属性
lastIndex 属性 | source 属性
方法
compile 方法 | exec 方法 | test 方法
8.Function 对象
创建新的函数。
语法 1
function functionName([argname1 [, ...[, argnameN]]])
{
body
}
语法 2
functionName = new Function( [argname1, [... argnameN,]] body );
参数
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);
注意 在调用函数时,请确保包含了括号和必需的参数。调用函数时不用括号导致返回函数的文本而不是函数执行的结果。
属性
arguments 属性 | caller 属性 | constructor 属性 | prototype 属性
方法
toString 方法 | valueOf 方法
9.Global 对象
是一个固有对象,目的是把所有全局方法集中在一个对象中。
Global
对象没有语法。直接调用其方法。
说明
Global 对象从不直接使用,并且不能用 new 运算符创建。它在 Scripting 引擎被初始化时创建,并立即使其方法和属性可用。
属性
Infinity 属性 | NaN 属性
方法
escape 方法 | eval 方法 | isFinite 方法 | isNaN 方法 | parseFloat 方法 | parseInt 方法 | unescape 方法
10.Error 对象
保存有关错误的信息。
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 对象没有方法。
属性
description 属性 | number 属性
11.Math 对象
是一个固有对象,提供基本数学函数和常数。
Math.[{property | method
}]
参数
property
必选项。Math 对象的一个属性名。
method
必选项。Math.对象的一个方法名。
说明
Math 对象不能用 new 运算符创建,如果试图这样做则给出错误。该对象在装载脚本引擎时由该引擎创建。其所有方法和属性在脚本中总是可用。
属性
E 属性 | LN2 属性 | LN10 属性 | LOG2E 属性 | LOG10E 属性 | PI 属性 | SQRT1_2 属性 | SQRT2 属性
方法
abs 方法 | acos 方法 | asin 方法 | atan 方法 | atan2 方法 | ceil 方法 | cos 方法 | exp 方法 | floor 方法 | log 方法 | max 方法 | min 方法 | pow 方法 | random 方法 | round 方法 | sin 方法 | sqrt 方法 | tan 方法
另外還有VBArray,Number,Boolean,Enumerator
詳細請參見:http://www.yesky.com/imagesnew/software/javascript/index.html