下面介绍的是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新特性
新增的全局变量
新增的方法
isFinite()
Function.prototype.call()
Function.prototype.apply()
Date.UTC()
Date.prototype.getFullYear()
Date.prototype.setFullYear()
Date.prototype.getMilliseconds()
Date.prototype.setMilliseconds()
Date.prototype.getUTCFullYear()
Date.prototype.getUTCMonth()
Date.prototype.getUTCDate()
Date.prototype.getUTCHours()
Date.prototype.getUTCMinutes()
Date.prototype.getUTCSeconds()
Date.prototype.getUTCMilliseconds()
Date.prototype.toUTCString()
Date.prototype.setUTCFullYear()
Date.prototype.setUTCMonth()
Date.prototype.setUTCDate()
Date.prototype.setUTCHours()
Date.prototype.setUTCMinutes()
Date.prototype.setUTCSeconds()
Date.prototype.setUTCMilliseconds()
其他新特性
- 严格的相等运算符
- 支持Unicode
- 介绍了一种JavaScript的控制台
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 参数为1,splice方法返回被移除的元素。而在JavaScript 1.3,splice方法通常返回一个包含被删除的元素的数组。如果只有一个元素被移除,则返回一个只包含一个元素的数组。
String.prototype.replace()
的变化。Boolean
对象的变化。toString()的
变化。
非ECMA-262规范的JavaScript 1.3特性
下面是关于1998年6月的ECMA-262版本和JavaScript 1.3之间的比较。下面的特性不是当时的标准的一部分,但是在JavaScript 1.3里面实施了。
关键字和操作符
- 严格的相等运算符
- 垂直制表符(\ v或\ u000B)转义序列。
语句
内置对象
内置对象的方向
toSource()
Object.prototype.watch()
Object.prototype.unwatch()
Function.arity
Function.prototype.apply()
Function.prototype.call()
Array.prototype.concat()
Array.prototype.pop()
Array.prototype.push()
Array.prototype.shift()
Array.prototype.slice()
Array.prototype.splice()
String.prototype.concat()
String.prototype.concat()
String.prototype.match()
String.prototype.search()
String.prototype.slice()
String.prototype.substr()