The following is a changelog for JavaScript from Netscape Navigator 4.0 to 4.5. The old Netscape documentation can be found on archive.org. Netscape Navigator 4.5 was released on October 19, 1998.
The most significant change in JavaScript 1.3 was compliance with ECMA-262 and Unicode by removing inconsistencies between JavaScript 1.2 and the new ECMA standard (which was published in June 1997). Additional features of version 1.2, at the time not specified by ECMA-262 were kept in the JavaScript language (see below for a list of differences).
JavaScript versions
Netscape Communicator and Navigator 4.06 and 4.5 executes JavaScript language versions up to 1.3. Note that Communicator and Navigator 4.0-4.05 and earlier ignored scripts with the language attribute set to "JavaScript1.3" and higher.
<SCRIPT LANGUAGE="JavaScript1.2"> <!-- JavaScript for Navigator 4.0. --> <SCRIPT LANGUAGE="JavaScript1.3"> <!-- JavaScript for Navigator 4.5. -->
New features in JavaScript 1.3
New globals
New methods
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()
Other new features
- Strict equality operators
- Unicode support
- A JavaScript Console was introduced.
Changed functionality in JavaScript 1.3
- Changes to
Date
to conform with ECMA-262- New constructor
Date(year, month, day, [,hours [, minutes [, seconds [, milliseconds ]]]])
- Additional method parameters:
setMonth(month[, date])
setHours(hours[, min[, sec[, ms]]])
setMinutes(min[, sec[, ms]])
setSeconds(sec[, ms])
- New constructor
- The length of an array (property length) is now an unsigned, 32-bit integer.
Array.prototype.push()
: In JavaScript 1.2, thepush
method returned the last element added to an array. Under JavaScript 1.3,push
returns the new length of the array.Array.prototype.slice()
: In JavaScript 1.2, thesplice
method returned the element removed, if only one element was removed (howMany
parameter is1
). In JavaScript 1.3,splice
always returns an array containing the removed elements. If one element is removed, an array of one element is returned.- Changes to
String.prototype.replace()
. - Changes to the
Boolean
object. - Changes to
toString()
.
Non-ECMA-262 features of JavaScript 1.3
The following is a comparison between the June 1998 version of ECMA-262 and JavaScript 1.3. The following features were not part of the standard at that time, but implemented in JavaScript 1.3.
Keywords and operators
- Strict equality operators
- vertical tab (
\v
or\u000B
) as an escape sequence.
Statements
Built-in objects
Methods of built-in objects
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()