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).
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. -->
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()Date to conform with 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])Array.prototype.push(): In JavaScript 1.2, the push 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, the splice method returned the element removed, if only one element was removed (howMany parameter is 1). 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.String.prototype.replace().Boolean object.toString().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.
\v or \u000B) as an escape sequence.toSource()Object.prototype.watch()Object.prototype.unwatch()Function.arityFunction.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()