下面介绍的是JavaScript从Netscape Navigator 3.0到4.0的更新日志。旧的Netscape文档可以在archive.org上面找到。Netscape Navigator 4.0在1997年6月11日发布，它是是支持JavaScript的浏览器的第三个主要的版本。

## JavaScript 版本

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

    <SCRIPT LANGUAGE="JavaScript1.1"> <!-- JavaScript for Navigator 3.0. -->
    <SCRIPT LANGUAGE="JavaScript1.2"> <!-- JavaScript for Navigator 4.0. -->

## JavaScript 1.2新特性

### 新增的对象

- 可以使用简明的字面记号来创建对象。（灵感来自Python 1.x的dictionary的简明语法）
- 数字也可以使用简明的字面记号来创建。（灵感来自Python 1.x的字list的简明语法）
- arguments

### 新增的属性

- `Function.arity`

### 新增的方法

- `Array.prototype.concat()`
- `Array.prototype.slice()`
- `String.prototype.charCodeAt()`
- `String.prototype.concat()`
- `String.fromCharCode()`
- `String.prototype.match()`
- `String.prototype.replace()`
- `String.prototype.search()`
- `String.prototype.slice()`
- `String.prototype.substr()`

### 新增的操作符

- `delete`
- Equality operators (`==` and `!=`)

### 新增的语句

- Labeled 语句
- `switch`
- `do...while`
- `import`
- `export`

### 其他新特性

- Regular Expressions
- Signed scripts

## JavaScript 1.2修改的功能

- 现在你可以在函数内部嵌套函数。
- Number现在可以将指定的对象转换为数字。
- 如果x是一个不包含格式良好的数字字面的字符串，Number将会生成一个NaN而不是一个错误。
- Stirng现在可以将指定的对象转换为字符串。
- `Array.prototype.sort()` 现在能在所有平台上工作。它不会再将未定义的元素转换为null并且排序到数组最大的位置。
- `String.prototype.split()`
  - 它即可以带一个确定的字符串参数去分割目标字符串，也可以带一个正则表达式参数。
  - 它可以带一个限制的数量，这样可以让最终的结果数组不再包含在这之后的空元素。
- `String.prototype.substring()`: 不再要求第二个索引值大于第一个。
- `toString()`: 现在可以把对象或者数组转换为文字。
- `break` 和`continue` 语句现在可以在带标签的语句中使用。