内部对象
Microsoft Jscript 提供了 个内部(或内置)对象它们是ArrayBooleanDateFunctionGlobalMathNumberObjectRegExpError 以及 String 对象每一个对象有相关的方法和属性这在语言参考中有详细的描述本节中也描述了某些对象
Array 对象
数组下标可以被认为是对象的属性它是通过数字索引来引用的注意添加到数组中的已命名的属性不能通过数字来索引它们是与数组元素分离的
使用 new 运算符和 Array() 构造器生成一个新的数组如下面的示例
var theMonths = new Array();
theMonths[] = Jan;
theMonths[] = Feb;
theMonths[] = Mar;
theMonths[] = Apr;
theMonths[] = May;
theMonths[] = Jun;
theMonths[] = Jul;
theMonths[] = Aug;
theMonths[] = Sep;
theMonths[] = Oct;
theMonths[] = Nov;
theMonths[] = Dec;
用关键字 Array 生成数组时Jscript 包含了 length 属性该属性记录了数组入口数如果没有给该属性指定值则设置长度为 且数组没有入口点如果指定一个数值则将长度设置为该数如果指定了不止一个参数则这些参数被用作数组的入口另外参数的数目被赋给 length 属性如下面的示例与前一个示例是等价的
var theMonths = new Array(Jan Feb Mar Apr May Jun
Jul Aug Sep Oct Nov Dec);
当向用关键字 Array 生成的数组中添加元素时Jscript 自动改变属性 length 的值Jscript 中的数组索引总是以 开始而不是 所以属性 length 通常比数组的最大索引大
String 对象
在 Jscript 中可以将字符串(和数)当作对象来处理string 对象有一些内置方法可以和自己的字符串一起使用其中一个是 substring 方法它返回字符串的一部分该方法以两个数字作为参数
aString = ;
var aChunk = aStringsubstring( ); // 将 aChunk 设为
var aNotherChunk = aStringsubstring( ); // 将 aNotherChunk 设为
// 使用上面生成数组的示例
firstLetter = theMonths[]substring(); // 将变量 firstLetter 设为J
String 对象的另一个属性是 length 属性本属性包含了字符串中的字符数(空字符串为 )它是一个数值可以直接在计算中使用
var howLong = Hello Worldlength // 设置变量 howLong 为
Math 对象
Math 对象有许多预定义属性和方法属性是特殊的数字这些特殊的数字之一是 pi 值(近似 …)这是 MathPI 属性如下例所示
// 声明一个半径变量并赋数值
var circleArea = MathPI * radius * radius; // 注意 Math 和 PI 大写
Math 对象的一个内置方法是乘幂方法(或 pow)使用该方法求得指定数的幂次下面的例子同时使用了 pi 和乘幂
// 本公式计算给定半径的球体的体积
volume = (/)*(MathPI*Mathpow(radius));
Date 对象
Date 对象可以被用来表示任意的日期和时间获取当前系统日期以及计算两个日期的间隔它拥有一些预定义的属性和方法通常Date 对象给出星期月份天数和年份以及以小时分钟和秒表示的时间该信息是基于 年 月 日 :: GMT 开始的毫秒数其中 GMT 是格林威治标准时间(首选术语是 UTC或者全球标准时间它引用的信号是由世界时间标准发布的)Jscript 可以处理 BC 到 AD范围内的日期
使用 new 运算符创建一个新的 Date 对象下面的示例计算当年已过去的天数和今年剩下的天数
/*
本示例使用前面定义的月份名称数组
第一条语句以Day Month Date :: Year格式
对 thisIsToday 变量赋值
*/
var thisIsToday = new Date();
var toDay = new Date(); //获取今天的日期
// 提取年月日
var thisYear = toDaygetFullYear();
var thisMonth = theMonths[toDaygetMonth()];
var thisDay = thisMonth + + toDaygetDate() + + thisYear;
Number 对象
除了 Math 对象中可用的特殊数值属性(例如 PI)外在 Microsoft Jscript 中 Number 对象有几个其他的数值属性
属性 描述
MAX_VALUE 可能的最大数大约为 E+可以是正数或负数(具体数值随系统不同而有微小差别)
MIN_VALUE 可能的最小数大约为 E可以是正数或负数(具体数值随系统不同而有微小差别)
NaN 特殊非数量值不是数值
POSITIVE_INFINITY 比最大正数(NumberMAX_VALUE)还要大的任意正值自动被转换为此值代表正无穷大
NEGATIVE_INFINITY 比最小的负数(负的 NumberMAX_VALUE)还小的任意值被自动转换为此值代表负无穷
NumberNaN 是一个特殊的属性被定义为不是数值例如被 除返回 NaN试图解析一个无法被解析为数字的字符串同样返回 NumberNaN把 NaN 与任何数值或本身作比较的结果都是不相等不能通过与 NumberNaN 比较来测试 NaN 结果而应该使用 isNaN() 函数