2019-04-21 11:50:48 +08:00

111 lines
15 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<article id="wikiArticle">
<div></div>
<p>下面介绍的是JavaScript从Netscape Navigator 4.0到4.5的更新日志。旧的Netscape文档可以在<a class="external" href="https://web.archive.org/web/20000815081640/http://developer.netscape.com/docs/manuals/communicator/jsref/js13.html" rel="noopener">archive.org</a>上面找到。Netscape Navigator 4.5是在1998年10月19日发布的。</p>
<p>JavaScript 1.3 最显著的变化是通过消除JavaScript1.2和1997年6月发布的新ECMA标准的不一致性来遵守ECMA-262和Unicode。JavaScript 1.2附加的特性在ECMA-262的规定外还保留在JavaScript语言见下面的列表中的差异</p>
<h2 id="JavaScript_版本">JavaScript 版本</h2>
<p>Netscape Navigator 4.06 到 4.5 将JavaScript语言的版本升到1.3。需要注意的是Netscape Navigator 4.0  4.05以及更早的版本忽略了设置为"JavaScript 1.3"和更高的版本的脚本语言属性。</p>
<pre><code class="language-html">&lt;SCRIPT LANGUAGE="JavaScript1.2"&gt; &lt;!-- JavaScript for Navigator 4.0. --&gt;
&lt;SCRIPT LANGUAGE="JavaScript1.3"&gt; &lt;!-- JavaScript for Navigator 4.5. --&gt;</code></pre>
<h2 id="JavaScript_1.3新特性">JavaScript 1.3新特性</h2>
<h3 id="新增的全局变量">新增的全局变量</h3>
<ul>
<li><a href="Reference/Global_Objects/NaN" title="全局属性 NaN 的值表示不是一个数字Not-A-Number。"><code>NaN</code></a></li>
<li><a href="Reference/Global_Objects/Infinity" title="全局属性 Infinity 是一个数值,表示无穷大。"><code>Infinity</code></a></li>
<li><a href="Reference/Global_Objects/undefined" title="undefined是全局对象的一个属性。也就是说它是全局作用域的一个变量。undefined的最初值就是原始数据类型undefined。"><code>undefined</code></a></li>
</ul>
<h3 id="新增的方法">新增的方法</h3>
<ul>
<li><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/isFinite"><code>isFinite()</code></a></li>
<li><a href="Reference/Global_Objects/Function/call" title="call() 方法调用一个函数, 其具有一个指定的this值和分别地提供的参数(参数的列表)。"><code>Function.prototype.call()</code></a></li>
<li><a href="Reference/Global_Objects/Function/apply" title="apply() 方法调用一个具有给定this值的函数以及作为一个数组或类似数组对象提供的参数。"><code>Function.prototype.apply()</code></a></li>
<li><a href="Reference/Global_Objects/Date/UTC" title="Date.UTC() 方法接受的参数同日期构造函数接受最多参数时一样返回从1970-1-1 00:00:00 UTC到指定日期的的毫秒数。"><code>Date.UTC()</code></a></li>
<li><a href="Reference/Global_Objects/Date/getFullYear" title="getFullYear() 方法根据本地时间返回指定日期的年份。"><code>Date.prototype.getFullYear()</code></a></li>
<li><a href="Reference/Global_Objects/Date/setFullYear" title="setFullYear() 方法根据本地时间为一个日期对象设置年份。"><code>Date.prototype.setFullYear()</code></a></li>
<li><a href="Reference/Global_Objects/Date/getMilliseconds" title="getMilliseconds() 方法,根据本地时间,返回一个指定的日期对象的毫秒数。"><code>Date.prototype.getMilliseconds()</code></a></li>
<li><a href="Reference/Global_Objects/Date/setMilliseconds" title="setMilliseconds() 方法会根据本地时间设置一个日期对象的豪秒数。"><code>Date.prototype.setMilliseconds()</code></a></li>
<li><a href="Reference/Global_Objects/Date/getUTCFullYear" title="getUTCFullYear() 以世界时为标准,返回一个指定的日期对象的年份。"><code>Date.prototype.getUTCFullYear()</code></a></li>
<li><a href="Reference/Global_Objects/Date/getUTCMonth" title="getUTCMonth() 方法以世界时为标准,返回一个指定的日期对象的月份,它是从 0 开始计数的0 代表一年的第一个月)。"><code>Date.prototype.getUTCMonth()</code></a></li>
<li><a href="Reference/Global_Objects/Date/getUTCDate" title="getUTCDate() 方法以世界时为标准,返回一个指定的日期对象为一个月中的第几天"><code>Date.prototype.getUTCDate()</code></a></li>
<li><a href="Reference/Global_Objects/Date/getUTCHours" title="getUTCHours() 方法以世界时为标准,返回一个指定的日期对象的小时数。"><code>Date.prototype.getUTCHours()</code></a></li>
<li><a href="Reference/Global_Objects/Date/getUTCMinutes" title="getUTCMinutes() 方法以世界时为标准,返回一个指定的日期对象的分钟数。"><code>Date.prototype.getUTCMinutes()</code></a></li>
<li><a href="Reference/Global_Objects/Date/getUTCSeconds" title="getUTCSeconds() 方法以世界时为标准,返回一个指定的日期对象的秒数。"><code>Date.prototype.getUTCSeconds()</code></a></li>
<li><a href="Reference/Global_Objects/Date/getUTCMilliseconds" title="getUTCMilliseconds() 方法以世界时为标准,返回一个指定的日期对象的毫秒数。"><code>Date.prototype.getUTCMilliseconds()</code></a></li>
<li><a href="Reference/Global_Objects/Date/toUTCString" title="toUTCString() 方法把一个日期转换为一个字符串使用UTC时区。"><code>Date.prototype.toUTCString()</code></a></li>
<li><a href="Reference/Global_Objects/Date/setUTCFullYear" title="setUTCFullYear() 方法根据世界标准时间为一个具体日期设置年份。"><code>Date.prototype.setUTCFullYear()</code></a></li>
<li><a href="Reference/Global_Objects/Date/setUTCMonth" title="setUTCMonth()方法根据通用的时间来设置一个准确的月份"><code>Date.prototype.setUTCMonth()</code></a></li>
<li><a href="Reference/Global_Objects/Date/setUTCDate" title="setUTCDate() 方法就是根据全球时间设置特定date对象的日期。"><code>Date.prototype.setUTCDate()</code></a></li>
<li><a href="Reference/Global_Objects/Date/setUTCHours" title="The setUTCHours() method sets the hour for a specified date according to universal time, and returns the number of milliseconds since 1 January 1970 00:00:00 UTC until the time represented by the updated Date instance."><code>Date.prototype.setUTCHours()</code></a></li>
<li><a href="Reference/Global_Objects/Date/setUTCMinutes" title="setUTCMinutes()方法会根据世界协调时UTC来设置指定日期的分钟数。"><code>Date.prototype.setUTCMinutes()</code></a></li>
<li><a href="Reference/Global_Objects/Date/setUTCSeconds" title="此 setUTCSeconds() 方法为一个依据国际通用时间的特定日期设置秒数。"><code>Date.prototype.setUTCSeconds()</code></a></li>
<li><a href="Reference/Global_Objects/Date/setUTCMilliseconds" title="setUTCMilliseconds() 方法会根据世界时来设置指定时间的毫秒数。"><code>Date.prototype.setUTCMilliseconds()</code></a></li>
</ul>
<h3 id="其他新特性">其他新特性</h3>
<ul>
<li><a href="/en-US/docs/Web/JavaScript/Reference/Operators/Comparison_Operators#Using_the_Equality_Operators" title="JavaScript/Reference/Operators/Comparison_Operators#Using_the_Equality_Operators">严格的相等运算符</a></li>
<li>支持Unicode</li>
<li>介绍了一种JavaScript的控制台</li>
</ul>
<h2 id="JavaScript_1.3_修改的功能">JavaScript 1.3 修改的功能</h2>
<ul>
<li>修改 <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date" title="JavaScript/Reference/Global_Objects/Date"><code>Date</code></a> 使之符合 ECMA-262
<ul>
<li>新的构造函数: <code>Date(year, month, day, [,<em>hours</em> [<em>, minutes</em> [<em>, seconds</em> [<em>, milliseconds</em> ]]]])</code></li>
<li>附加的方法参数
<ul>
<li><code>setMonth(month[, date])</code></li>
<li><code>setHours(hours[, min[, sec[, ms]]])</code></li>
<li><code>setMinutes(min[, sec[, ms]])</code></li>
<li><code>setSeconds(sec[, ms])</code></li>
</ul>
</li>
</ul>
</li>
<li>数组的长度属性的长度现在类型为32位 unsigned 整型。</li>
<li><a href="Reference/Global_Objects/Array/push" title="push() 方法将一个或多个元素添加到数组的末尾,并返回该数组的新长度。"><code>Array.prototype.push()</code></a>: 在JavaScript 1.2中, <code>push</code> 方法返回最后一个被添加到数组的元素。在JavaScript 1.3下, <code>push</code> 返回数组新的长度。</li>
<li><a href="Reference/Global_Objects/Array/slice" title="The source for this interactive demo is stored in a GitHub repository. If you'd like to contribute to the interactive demo project, please clone https://github.com/mdn/interactive-examples and send us a pull request."><code>Array.prototype.slice()</code></a>: 在JavaScript 1.2中, 如果只有一个元素被移除(<code>howMany 参数为1<font face="Open Sans, Arial, sans-serif"></font>splice方法返回被移除的元素。而在JavaScript 1.3splice方法通常返回一个包含被删除的元素的数组。如果只有一个元素被移除则返回一个只包含一个元素的数组。</code></li>
<li><a href="Reference/Global_Objects/String/replace" title="replace() 方法返回一个由替换值替换一些或所有匹配的模式后的新字符串。模式可以是一个字符串或者一个正则表达式, 替换值可以是一个字符串或者一个每次匹配都要调用的函数。"><code>String.prototype.replace()</code></a><a class="external" href="https://web.archive.org/web/20000815081640/http://developer.netscape.com/docs/manuals/communicator/jsref/js13.html#replace" rel="noopener">变化</a></li>
<li><a href="Reference/Boolean" title="此页面仍未被本地化, 期待您的翻译!"><code>Boolean</code></a> 对象的<a class="external" href="https://web.archive.org/web/20000815081640/http://developer.netscape.com/docs/manuals/communicator/jsref/js13.html#Boolean" rel="noopener">变化</a></li>
<li><code>toString()的</code><a class="external" href="https://web.archive.org/web/20000815081640/http://developer.netscape.com/docs/manuals/communicator/jsref/js13.html#toString" rel="noopener">变化</a></li>
</ul>
<h2 id="非ECMA-262规范的JavaScript_1.3特性">非ECMA-262规范的JavaScript 1.3特性</h2>
<p>下面是关于1998年6月的ECMA-262版本和JavaScript 1.3之间的比较。下面的特性不是当时的标准的一部分但是在JavaScript 1.3里面实施了。</p>
<h3 id="关键字和操作符">关键字和操作符</h3>
<ul>
<li><a href="/en-US/docs/Web/JavaScript/Reference/Operators/Comparison_Operators#Using_the_Equality_Operators" title="JavaScript/Reference/Operators/Comparison_Operators#Using_the_Equality_Operators">严格的相等运算符</a></li>
<li>垂直制表符(\ v或\ u000B)转义序列。</li>
</ul>
<h3 id="语句">语句</h3>
<ul>
<li><a href="/en-US/docs/Web/JavaScript/Reference/Statements/label"><code>label</code></a></li>
<li><a href="/en-US/docs/Web/JavaScript/Reference/Statements/switch"><code>switch</code></a></li>
<li><a href="/en-US/docs/Web/JavaScript/Reference/Statements/do...while"><code>do...while</code></a></li>
<li><a href="/en-US/docs/Web/JavaScript/Reference/Statements/export"><code>export</code></a></li>
<li><a href="/en-US/docs/Web/JavaScript/Reference/Statements/import"><code>import</code></a></li>
</ul>
<h3 id="内置对象">内置对象</h3>
<ul>
<li><a href="Reference/RegExp" title="此页面仍未被本地化, 期待您的翻译!"><code>RegExp</code></a></li>
</ul>
<h3 id="内置对象的方向">内置对象的方向</h3>
<ul>
<li><code><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/toSource">toSource()</a></code></li>
<li><a href="Reference/Global_Objects/Object/watch" title="undefined."><code>Object.prototype.watch()</code></a></li>
<li><a href="Reference/Global_Objects/Object/unwatch" title="unwatch() 删除一个 watch() 设置的 watchpoint."><code>Object.prototype.unwatch()</code></a></li>
<li><a href="Reference/Global_Objects/Function/arity" title="返回一个函数的形参数量."><code>Function.arity</code></a></li>
<li><a href="Reference/Global_Objects/Function/apply" title="apply() 方法调用一个具有给定this值的函数以及作为一个数组或类似数组对象提供的参数。"><code>Function.prototype.apply()</code></a></li>
<li><a href="Reference/Global_Objects/Function/call" title="call() 方法调用一个函数, 其具有一个指定的this值和分别地提供的参数(参数的列表)。"><code>Function.prototype.call()</code></a></li>
<li><a href="Reference/Global_Objects/Array/concat" title="concat() 方法用于合并两个或多个数组。此方法不会更改现有数组,而是返回一个新数组。"><code>Array.prototype.concat()</code></a></li>
<li><a href="Reference/Global_Objects/Array/pop" title="pop()方法从数组中删除最后一个元素,并返回该元素的值。此方法更改数组的长度。"><code>Array.prototype.pop()</code></a></li>
<li><a href="Reference/Global_Objects/Array/push" title="push() 方法将一个或多个元素添加到数组的末尾,并返回该数组的新长度。"><code>Array.prototype.push()</code></a></li>
<li><a href="Reference/Global_Objects/Array/shift" title="shift() 方法从数组中删除第一个元素,并返回该元素的值。此方法更改数组的长度。"><code>Array.prototype.shift()</code></a></li>
<li><a href="Reference/Global_Objects/Array/slice" title="The source for this interactive demo is stored in a GitHub repository. If you'd like to contribute to the interactive demo project, please clone https://github.com/mdn/interactive-examples and send us a pull request."><code>Array.prototype.slice()</code></a></li>
<li><a href="Reference/Global_Objects/Array/splice" title="splice()方法通过删除现有元素和/或添加新元素来修改数组,并以数组返回原数组中被修改的内容。"><code>Array.prototype.splice()</code></a></li>
<li><a href="Reference/Global_Objects/String/concat" title="concat() 方法将一个或多个字符串与原字符串连接合并,形成一个新的字符串并返回。"><code>String.prototype.concat()</code></a></li>
<li><a href="Reference/Global_Objects/String/concat" title="concat() 方法将一个或多个字符串与原字符串连接合并,形成一个新的字符串并返回。"><code>String.prototype.concat()</code></a></li>
<li><a href="Reference/Global_Objects/String/match" title="当一个字符串与一个正则表达式匹配时 match()方法检索匹配项。"><code>String.prototype.match()</code></a></li>
<li><a href="Reference/Global_Objects/String/search" title="search() 方法执行正则表达式和 String对象之间的一个搜索匹配。"><code>String.prototype.search()</code></a></li>
<li><a href="Reference/Global_Objects/String/slice" title="slice() 方法提取一个字符串的一部分,并返回一新的字符串。"><code>String.prototype.slice()</code></a></li>
<li><a href="Reference/Global_Objects/String/substr" title="substr() 方法返回一个字符串中从指定位置开始到指定字符数的字符。"><code>String.prototype.substr()</code></a></li>
</ul>
</article>