JavaScript 1.3的新特性

下面介绍的是JavaScript从Netscape Navigator 4.0到4.5的更新日志。旧的Netscape文档可以在archive.org上面找到。Netscape Navigator 4.5是在1998年10月19日发布的。

JavaScript 1.3 最显著的变化是通过消除JavaScript1.2和1997年6月发布的新ECMA标准的不一致性来遵守ECMA-262和Unicode。JavaScript 1.2附加的特性,在ECMA-262的规定外还保留在JavaScript语言(见下面的列表中的差异)。

JavaScript 版本

Netscape Navigator 4.06 到 4.5 将JavaScript语言的版本升到1.3。需要注意的是,Netscape Navigator 4.0 到 4.05以及更早的版本忽略了设置为"JavaScript 1.3"和更高的版本的脚本语言属性。

<SCRIPT LANGUAGE="JavaScript1.2"> <!-- JavaScript for Navigator 4.0. -->
<SCRIPT LANGUAGE="JavaScript1.3"> <!-- JavaScript for Navigator 4.5. -->

JavaScript 1.3新特性

新增的全局变量

新增的方法

其他新特性

JavaScript 1.3 修改的功能

  • 修改 Date 使之符合 ECMA-262
    • 新的构造函数: Date(year, month, day, [,hours [, minutes [, seconds [, milliseconds ]]]])
    • 附加的方法参数
      • setMonth(month[, date])
      • setHours(hours[, min[, sec[, ms]]])
      • setMinutes(min[, sec[, ms]])
      • setSeconds(sec[, ms])
  • 数组的长度(属性的长度)现在类型为32位 unsigned 整型。
  • Array.prototype.push(): 在JavaScript 1.2中, push 方法返回最后一个被添加到数组的元素。在JavaScript 1.3下, push 返回数组新的长度。
  • Array.prototype.slice(): 在JavaScript 1.2中, 如果只有一个元素被移除(howMany 参数为1splice方法返回被移除的元素。而在JavaScript 1.3,splice方法通常返回一个包含被删除的元素的数组。如果只有一个元素被移除,则返回一个只包含一个元素的数组。
  • String.prototype.replace()变化
  • Boolean 对象的变化
  • toString()的变化

非ECMA-262规范的JavaScript 1.3特性

下面是关于1998年6月的ECMA-262版本和JavaScript 1.3之间的比较。下面的特性不是当时的标准的一部分,但是在JavaScript 1.3里面实施了。

关键字和操作符

语句

内置对象

内置对象的方向