Microsoft Jscript 提供了 11 个内部(或“内置”)对象。它们是Array、Boolean、Date、Function、Global、Math、Number、Object、RegEXP、Error 以及 String 对象。每一个对象有相关的方法和属性,这在语言参考中有具体的描述。本节中也描述了某些对象。
Array 对象
数组下标可以被认为是对象的属性,它是通过数字索引来引用的。注重添加到数组中的已命名的属性不能通过数字来索引;它们是与数组元素分离的。
使用 new 运算符和 Array() 构造器 生成一个新的数组,如下面的示例。
var theMonths = new Array(12);
theMonths[0] = "Jan";
theMonths[1] = "Feb";
theMonths[2] = "Mar";
theMonths[3] = "Apr";
theMonths[4] = "May";
theMonths[5] = "Jun";
theMonths[6] = "Jul";
theMonths[7] = "Aug";
theMonths[8] = "Sep";
theMonths[9] = "Oct";
theMonths[10] = "Nov";
theMonths[11] = "Dec";
用要害字 Array 生成数组时,Jscript 包含了 length 属性,该属性记录了数组入口数。假如没有给该属性指定值,则设置长度为 0 且数组没有入口点。假如指定一个数值,则将长度设置为该数。假如指定了不止一个参数,则这些参数被用作数组的入口。另外,参数的数目被赋给 length 属性。如下面的示例与前一个示例是等价的。
var theMonths = new Array("Jan", "Feb", "Mar", "Apr", "May", "Jun",
"Jul", "Aug", "Sep", "Oct", "Nov", "Dec");
当向用要害字 Array 生成的数组中添加元素时,Jscript 自动改变属性 length 的值。Jscript 中的数组索引总是以 0 开始,而不是 1,所以属性 length 通常比数组的最大索引大 1。
String对象
在 Jscript 中,可以将字符串(和数)当作对象来处理。string 对象 有一些内置方法,可以和自己的字符串一起使用。其中一个是substring 方法,它返回字符串的一部分。该方法以两个数字作为参数。
aString = "0123456789";
var aChunk = aString.substring(4, 7); // 将 aChunk 设为 "456"。
var aNotherChunk = aString.substring(7, 4); // 将 aNotherChunk 设为 "456"。
// 使用上面生成数组的示例:
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 属性,如下例所示。
// 声明一个半径变量并赋数值。
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,或者“全球标准时间”,它引用的信号是由“世界时间标准”发布的)。Jscript 可以处理 250,000 B.C. 到 255,000 A.D范围内的日期。
使用 new 运算符创建一个新的 Date 对象。下面的示例计算当年已过去的天数和今年剩下的天数。
/*
本示例使用前面定义的月份名称数组。
第一条语句以“Day Month Date 00:00:00 Year”格式
对 thisIsToday 变量赋值。
*/
var thisIsToday = new Date();
var toDay = new Date(); //获取今天的日期。
// 提取年,月,日。
var thisYear = toDay.getFullYear();
var thisMonth = theMonths[toDay.getMonth()];
var thisDay = thisMonth + " " + toDay.getDate() + ", " + thisYear;
Number 对象