了解JavaScript中的内置对象
此外,有几种方法可用于 Date 对象,一旦该对象 得到实例化,您便可以使用这些方法。大多数可用的方法围绕 获取当前时间的特定部分。以下方法是 可用于 Date 对象的 getter 方法:
如您所见,每个方法所 返回的值都相当简单。区别在于所返回的值范围。例如, getDate 方法返回 一个月份的天数,范围从 1 到 31;getDay 方法返回每周的天数,范围从 0 到 6; getHours 方法返回小时数值, 范围从 0 到 23;getMilliseconds 函数返回毫秒数值,范围从 0 到 999。 getMinutes 和 getSeconds 方法返回一个范围从 0 到 59 的值,getMonth 方法返回一个 从 0 到 11 之间的月份数值。本列表中惟一独特的方法 是 getTime 和 getTimezoneOffset。 getTime 方法返回 自 1/1/1970 中午 12 点的毫秒数,而 getTimezoneOffset 方法返回 格林尼治标准时间和本地时间之间的时间差,以分钟为单位。
对于大多数 getter 方法,还有一个 setter 方法,接受 相应的值范围内的数值参数。setter 方法 如下所示:
setDatesetFullYearsetHourssetMillisecondssetMinutessetMonthsetSecondssetTime对于上述所有 getter 方法,有一些匹配的方法 返回相同的值范围,只是这些值以 国际标准时间设置。这些方法包括:
getUTCDategetUTCDaygetUTCFullYeargetUTCHoursgetUTCMillisecondsgetUTCMinutesgetUTCMonthgetUTCSeconds当然,由于对于所有原始 getter 方法都有 setter 方法, 对于国际标准时间也一样。这些方法包括:
setUTCDatesetUTCFullYearsetUTCHourssetUTCMillisecondssetUTCMinutessetUTCMonthsetUTCSeconds正如在本文开头提到的,我不提供许多 关于 toString 方法的信息,但是 在 Date 对象中有一些方法可将日期转换为一个字符串,值得一提。在某些 情况下,需要将日期或日期的一部分转换为一个 字符串。例如,如果您将其追加到一个字符串或在 比较语句中使用它。有几个方法可用于 Date 对象,提供略微不同的 方法将其转换成字符串,包括:
toDateStringtoLocaleDateStringtoLocaleTimeStringtoLocaleStringtoTimeStringtoUTCStringtoDateString 方法将日期转换为 字符串:
- var myDate = new Date();
- document.write(myDate.toDateString());
toDateString 返回当前日期, 格式为 Tue Jul 19 2011。
toTimeString 方法将时间从 Date 对象转换为字符串:
- var myDate = new Date();
- document.write(myDate.toTimeString());
toTimeString 将时间作为字符串返回, 格式为 23:00:00 GMT-0700 (MST)。
最后一种将日期转换为字符串的方法是 toUTCString,它将日期转换为 国际标准时间的字符串。
有几种方法使用区域设置将日期转换成字符串,但是在撰写本文之时 Google Chrome 还不支持这几种方法。不支持的方法 包括toLocaleDateString、 toLocaleTimeString 和 toLocaleString。
JavaScript Date 对象乍看起来似乎很简单, 但是它不仅仅是一种显示 当前日期的有用方式。它取决于您要创建的功能。 例如,Date 对象是 创建倒计时钟表或其他与时间相关的功能的基础。
Array
JavaScript Array 对象是一个存储变量的变量:您可以用它一次在一个变量中存储多个值, 它有许多方法允许您操作或收集 有关它所存储的值的信息。尽管 Array 对象不差别对待值类型,但是 在一个单一数组中使用同类值是很好的做法。因此, 在同一数组中使用数字和字符串不是好的做法。所有 可用于 Array 对象的属性 都是只读的,这意味着它们的值不能从外部予以更改。
可用于 Array 对象的惟一属性 是 length。该属性返回 一个数组中的元素数目,通常在使用 循环迭代数组中的值时用到:
- var myArray = new Array(1, 2, 3);
- for(var i=0; i<myArray.length; i++) {
- document.write(myArray[i]);
- }
有多种方法可用于 Array 对象,您可以使用各种方法来向数组添加元素,或从数组删除元素。 这些方法包括 pop、 push、shift 和 unshift。pop 和 shift 方法都从 数组中删除元素。pop 方法删除并返回 一个数组中的最后一个元素,而 shift 方法删除并返回一个数组中的第一个元素。相反的 功能可以通过 push 和 unshift 方法实现,它们将元素添加到 数组中。push 方法将元素作为新元素添加到 数组的结尾,并返回新长度,而 unshift 方法将元素添加到 数组的前面,并返回新长度。
在 JavaScript 中对数组进行排序可以通过两个方法实现,其中之一 实际上称为 sort。另一个方法是 reverse。sort 方法的复杂之处在于,它基于可选的 sort 函数排列数组。 sort 函数可以是 您编写的任何自定义函数。reverse 方法不像 sort 那样复杂,尽管它的确通过颠倒元素更改 数组中元素的顺序。
在处理数组时,索引非常重要,因为它们定义 数组中每个元素的位置。有两个方法可基于索引更改 字符串:slice 和 splice。slice 方法接受索引或 索引开始和结尾的组合作为参数,然后提取数组的一部分并基于参数将其作为 新数组返回。splice 方法包括 index、 length 和 unlimited element 参数。该方法基于指定的索引将 元素添加到数组,并基于指定的索引将元素从 数组中删除,或基于指定的索引将元素添加到数组或从 数组删除元素。还有一种方法 可以基于匹配值返回一个索引: indexOf。然后您可以使用该索引截取 或拼接数组。
用任何编程语言编写好代码的关键是编写 有条理的代码。正如其各种方法所示, JavaScript Array 对象是一种 组织数据并创建复杂功能的强大方式。
Math
JavaScript Math 对象用于执行 数学函数。它不能加以实例化:您只能依据 Math 对象的原样使用它,在没有任何实例的情况下从该对象调用属性和 方法:
- var pi = Math.PI;
Math 对象有许多属性和方法 向 JavaScript 提供数学功能。所有的 Math 属性都是只读常量, 包括以下各项:
ELN2LN10LOG2ELOG10EPISQRT1_2SQRT2E 属性返回 自然对数的底数的值,或欧拉指数。该值是惟一的 实数,以 Leonhard Euler 命名。调用 E 属性会产生数字 2.718281828459045。其他两个属性也用于返回自然 对数:LN2 和 LN10。LN2 属性返回值为 2 的自然对数,而 LN10 属性返回值为 10 的自然 对数。LOG2E 和 LOG10E 属性可用于返回 E 以 2 或 10 为底的对数。 LOG2E 的结果是 1.4426950408889633,而 LOG10E 的结果是 0.4342944819032518。通常您不需要 大部分这些属性,除非您正在构建 计算器或其他数学密集型项目。然而, PI 和平方根比较常见。 PI 方法返回圆周与直径的比率。两个属性返回平方根值: SQRT1_2 和 SQRT2。 第一个属性返回 0.5 的平方根,而 SQRT2 返回 2 的平方根。
除了这些属性,还有几种方法可用来 返回一个数的不同值。其中每种方法都接受 数值,并根据方法名称返回一个值。 遗憾的是,方法名称不总是显而易见的:
abs。一个数的 绝对值acos。反余弦asin。反正弦atan。反正切atan2。多个数的 反正切cos。余弦exp。幂log。一个数的自然 对数pow。x 的 y 次方值sin。正弦sqrt。平方根tan。一个角的 正切有三种方法可用于在 JavaScript 中取整数: ceil、floor 和 round。ceil 方法返回一个数的向上舍入值。该方法在 您需要将数字向上舍入到最接近的整数时非常有用。 floor 方法提供 与 ceil 相反的功能:它返回 一个数字的向下舍入值。该方法在需要 将数字向下舍入到最近的整数时非常有用。 round 方法提供了普通的四舍五入 功能,基于现有的 小数将数字向上或向下舍入。
Math 对象中包括的最后三个方法分别是 max、min 和 random。max 方法接受多个数字参数并返回最高值, 而 min 方法接受多个数字 参数并返回最低值。这些方法在 比较拥有数值的变量时非常有用,特别是当您事先不 知道是什么数值时。您使用 random 方法返回 0 与 1 之间的一个随机数。您可以将该方法用作多种目的,比如在 网站主页上显示一个随机图像,或返回一个随机数, 该随机数可用作包含图像的文件路径的数组的一个索引。 从该数组选择的随机图像文件路径然后可 用于将该图像写到 HTML <img>标记。
结束语
JavaScript提供的属性和方法仅仅是可以实现的功能的开始:是您的想象力创建了自定义功能。由于您的想象力没有界限,因此 您编写的代码也没有界限。JavaScript是一种灵活的语言,这有时使它名声较差,但是往好的一面看,它也向您提供了快速、创造性地编写代码的能力。如需进一步了解JavaScript对象,以及如何使用 JavaScript语言创建您自己的自定义对象,请务必查看参考资料部分。