aboutsummaryrefslogtreecommitdiff
path: root/files/zh-cn/web/javascript
diff options
context:
space:
mode:
Diffstat (limited to 'files/zh-cn/web/javascript')
-rw-r--r--files/zh-cn/web/javascript/getting_started/index.html294
-rw-r--r--files/zh-cn/web/javascript/guide/about/index.html136
-rw-r--r--files/zh-cn/web/javascript/guide/javascript_overview/index.html136
-rw-r--r--files/zh-cn/web/javascript/guide/regular_expressions/boundaries/index.html7
-rw-r--r--files/zh-cn/web/javascript/guide/regular_expressions/quantifiers/index.html (renamed from files/zh-cn/web/javascript/guide/regular_expressions/量词/index.html)0
-rw-r--r--files/zh-cn/web/javascript/introduction_to_object-oriented_javascript/index.html362
-rw-r--r--files/zh-cn/web/javascript/introduction_to_using_xpath_in_javascript/index.html436
-rw-r--r--files/zh-cn/web/javascript/javascript(起步)/index.html292
-rw-r--r--files/zh-cn/web/javascript/reference/classes/public_class_fields/index.html (renamed from files/zh-cn/web/javascript/reference/classes/class_elements/index.html)0
-rw-r--r--files/zh-cn/web/javascript/reference/errors/cant_assign_to_property/index.html (renamed from files/zh-cn/web/javascript/reference/errors/不能添加属性/index.html)0
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/array/prototype/index.html178
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/arraybuffer/prototype/index.html64
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/asyncfunction/prototype/index.html57
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/asynciterator/index.html119
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/boolean/prototype/index.html76
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/dataview/prototype/index.html103
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/date/prototype/index.html181
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/error/prototype/index.html162
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/evalerror/prototype/index.html85
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/function/prototype/index.html139
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/generatorfunction/prototype/index.html65
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/intl/datetimeformat/prototype/index.html120
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/map/prototype/index.html131
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/math/acosh/index.html (renamed from files/zh-cn/web/javascript/reference/global_objects/math/反双曲余弦值/index.html)0
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/number/prototype/index.html132
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/object/prototype/index.html195
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/promise/prototype/index.html116
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/proxy/handler/index.html77
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/proxy/proxy/apply/index.html (renamed from files/zh-cn/web/javascript/reference/global_objects/proxy/handler/apply/index.html)0
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/proxy/proxy/construct/index.html (renamed from files/zh-cn/web/javascript/reference/global_objects/proxy/handler/construct/index.html)0
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/proxy/proxy/defineproperty/index.html (renamed from files/zh-cn/web/javascript/reference/global_objects/proxy/handler/defineproperty/index.html)0
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/proxy/proxy/deleteproperty/index.html (renamed from files/zh-cn/web/javascript/reference/global_objects/proxy/handler/deleteproperty/index.html)0
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/proxy/proxy/get/index.html (renamed from files/zh-cn/web/javascript/reference/global_objects/proxy/handler/get/index.html)0
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/proxy/proxy/getownpropertydescriptor/index.html (renamed from files/zh-cn/web/javascript/reference/global_objects/proxy/handler/getownpropertydescriptor/index.html)0
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/proxy/proxy/getprototypeof/index.html (renamed from files/zh-cn/web/javascript/reference/global_objects/proxy/handler/getprototypeof/index.html)0
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/proxy/proxy/has/index.html (renamed from files/zh-cn/web/javascript/reference/global_objects/proxy/handler/has/index.html)0
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/proxy/proxy/isextensible/index.html (renamed from files/zh-cn/web/javascript/reference/global_objects/proxy/handler/isextensible/index.html)0
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/proxy/proxy/ownkeys/index.html (renamed from files/zh-cn/web/javascript/reference/global_objects/proxy/handler/ownkeys/index.html)0
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/proxy/proxy/preventextensions/index.html (renamed from files/zh-cn/web/javascript/reference/global_objects/proxy/handler/preventextensions/index.html)0
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/proxy/proxy/set/index.html (renamed from files/zh-cn/web/javascript/reference/global_objects/proxy/handler/set/index.html)0
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/proxy/proxy/setprototypeof/index.html (renamed from files/zh-cn/web/javascript/reference/global_objects/proxy/handler/setprototypeof/index.html)0
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/rangeerror/prototype/index.html89
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/referenceerror/prototype/index.html93
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/reflect/comparing_reflect_and_object_methods/index.html (renamed from files/zh-cn/web/javascript/reference/global_objects/reflect/比较_reflect_和_object_方法/index.html)0
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/regexp/prototype/index.html153
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/sharedarraybuffer/prototype/index.html63
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/string/prototype/index.html187
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/string/trimend/index.html (renamed from files/zh-cn/web/javascript/reference/global_objects/string/trimright/index.html)0
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/string/trimstart/index.html (renamed from files/zh-cn/web/javascript/reference/global_objects/string/trimleft/index.html)0
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/symbol/prototype/index.html67
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/syntaxerror/prototype/index.html133
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/typedarray/prototype/index.html172
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/typeerror/prototype/index.html94
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/urierror/prototype/index.html83
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/weakmap/prototype/index.html138
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/weakset/prototype/index.html115
-rw-r--r--files/zh-cn/web/javascript/reference/operators/addition/index.html (renamed from files/zh-cn/web/javascript/reference/operators/相加/index.html)0
-rw-r--r--files/zh-cn/web/javascript/reference/operators/arithmetic_operators/index.html302
-rw-r--r--files/zh-cn/web/javascript/reference/operators/assignment_operators/index.html413
-rw-r--r--files/zh-cn/web/javascript/reference/operators/async_function/index.html (renamed from files/zh-cn/web/javascript/reference/operators/async允许声明一个函数为一个包含异步操作的函数/index.html)0
-rw-r--r--files/zh-cn/web/javascript/reference/operators/bitwise_and/index.html (renamed from files/zh-cn/web/javascript/reference/operators/按位与/index.html)0
-rw-r--r--files/zh-cn/web/javascript/reference/operators/bitwise_operators/index.html756
-rw-r--r--files/zh-cn/web/javascript/reference/operators/comparison_operators/index.html278
-rw-r--r--files/zh-cn/web/javascript/reference/operators/decrement/index.html (renamed from files/zh-cn/web/javascript/reference/operators/自减/index.html)0
-rw-r--r--files/zh-cn/web/javascript/reference/operators/equality/index.html (renamed from files/zh-cn/web/javascript/reference/operators/相等/index.html)0
-rw-r--r--files/zh-cn/web/javascript/reference/operators/logical_and/index.html (renamed from files/zh-cn/web/javascript/reference/operators/逻辑和/index.html)0
-rw-r--r--files/zh-cn/web/javascript/reference/operators/logical_operators/index.html238
-rw-r--r--files/zh-cn/web/javascript/reference/operators/optional_chaining/index.html (renamed from files/zh-cn/web/javascript/reference/operators/可选链/index.html)0
-rw-r--r--files/zh-cn/web/javascript/reference/operators/pipeline_operator/index.html (renamed from files/zh-cn/web/javascript/reference/operators/管道操作符/index.html)0
-rw-r--r--files/zh-cn/web/javascript/reference/operators/remainder/index.html (renamed from files/zh-cn/web/javascript/reference/operators/取余/index.html)0
-rw-r--r--files/zh-cn/web/javascript/reference/reserved_words/index.html82
-rw-r--r--files/zh-cn/web/javascript/reference/statements/default/index.html120
-rw-r--r--files/zh-cn/web/javascript/reference/template_literals/index.html (renamed from files/zh-cn/web/javascript/reference/template_strings/index.html)0
-rw-r--r--files/zh-cn/web/javascript/the_performance_hazards_of_prototype_mutation/index.html (renamed from files/zh-cn/web/javascript/the_performance_hazards_of__[[prototype]]_mutation/index.html)0
74 files changed, 0 insertions, 7239 deletions
diff --git a/files/zh-cn/web/javascript/getting_started/index.html b/files/zh-cn/web/javascript/getting_started/index.html
deleted file mode 100644
index 67056c679b..0000000000
--- a/files/zh-cn/web/javascript/getting_started/index.html
+++ /dev/null
@@ -1,294 +0,0 @@
----
-title: 起步(Javascript 教程)
-slug: Web/JavaScript/Getting_Started
-tags:
- - bug-840092
-translation_of: Learn/Getting_started_with_the_web/JavaScript_basics
-translation_of_original: Web/JavaScript/Getting_Started
----
-<h2 id="Why_JavaScript.3F" name="Why_JavaScript.3F">JavaScript是什么?</h2>
-
-<p>作为一门计算机语言,JavaScript本身强大、复杂,且难于理解。但是,你可以用它来开发一系列的应用程序,它有巨大的潜力来改变当前的互联网现状。下面这个应用程序就是一个很好的例子:<a class="external" href="http://local.google.com/">Google Maps</a>。</p>
-
-<p>JavaScript(通称为ECMAScript)最大的优势在于,它基于浏览器,但是通过浏览器的支持可以在不同平台上生产出相同结果。 本文举出的例子是 Google Maps,它几乎可以无差别的运行在 Linux、Windows和Mac OS系统中。 伴随大量JavaScript类库的出现,你现在可以用它很轻易的实现文档导航、DOM元素选择、创建动画、处理事件和开发AJAX应用。同其他因各种利益目的而推动的技术不同,JavaScript是一种真正免费并且被广泛采用的跨平台编程语言。</p>
-
-<h2 id="What_you_should_already_know" name="What_you_should_already_know">你应该知道</h2>
-
-<p>JavaScript是一种非常容易入门的编程语言。你只需要一个文本编辑器和web浏览器就可以开始进行学习。 </p>
-
-<p>在使用 JavaScript进行开发的过程中,可能还会涉及很多其他技术,这不在本文讨论的范围之内。 所以,不要期望在学习的第一天就能开发出一个类似 Google maps 这样的应用程序。</p>
-
-<h2 id="Getting_Started" name="Getting_Started">起步</h2>
-
-<p>JavaScript的起步非常简单。你不需要进行复杂的程序安装,不需要去了解如何使用shell、打包器或编译器。它是通过浏览器来展示的,你所需要做的全部事情就是把你的代码保存为文本文件,然后再浏览器中打开。就这么简单!</p>
-
-<p>JavaScript非常适合作为入门级的编程语言。它直观形象,并且教会学生认识到这是一个在实际生活中非常有用的工具。 对比C、C++和 Java等语言会发现有很大不同,它们只对那些专业的软件开发者来说是有价值的。</p>
-
-<h2 id="Browser_Compatibility_Issues" name="Browser_Compatibility_Issues">浏览器兼容问题</h2>
-
-<p>不同浏览器在功能实现上有很多不同之处。Mozilla, Microsoft IE, Apple Safari 和 Opera 在行为上有很多差异。 我们计划在此记录这些差异 <a href="/en-US/docs/JavaScript/Compatibility" title="en-US/docs/JavaScript/Compatibility">documenting these variations</a>。你可以使用各种跨平台的JavaScript API接口来解决这些兼容性问题。这些API隐藏了浏览器之间的各种差异,提供了通用性的功能函数来方便调用。</p>
-
-<h2 id="How_to_try_the_Examples" name="How_to_try_the_Examples">如何运行示例</h2>
-
-<p>下面的例子都有相同的代码。要执行它们有多种方法,如果你有自己的个人站点,你还可以在站点上把这些例子保存为新的页面。</p>
-
-<p>如果你没有自己的个人站点,你可以在电脑上把这些例子保存下来,并使用你自己的浏览器来执行它们。这就是JavaScript简单的地方,也是它适合做入门语言的原因。你不需要编译器或者开发环境,你只需要一个浏览器就可以开始起步了。</p>
-
-<h2 id="Example:_Catching_a_mouse_click" name="Example:_Catching_a_mouse_click">举例:捕获一个鼠标单击事件</h2>
-
-<p>事件处理 (事件类型、事件注册、冒泡等) 的细节是一个非常宽泛的话题,这个简单的例子并不能说明所有的问题。然而,如果我们不涉及JavaScript事件系统,我们就不能很好展示一个鼠标点击捕获的范例。你只需要记得例子里展示的只是JavaScrpt事件系统里非常表象的一些东西,如果你想要了解更多的内部细节,那你可以去查找更详细的相关资料。</p>
-
-<p>鼠标事件只是浏览器同用户交互过程中所产生的事件系统里的一个子集。下面列举了一些用户在交互过程中产生的具体的鼠标事件:</p>
-
-<ul>
- <li>Click - 用户点击鼠标时触发</li>
- <li>DblClick - 用户双击鼠标时触发</li>
- <li>MouseDown - 用户按下鼠标键触发 (click事件前半部分)</li>
- <li>MouseUp - 用户释放鼠标键触发 (click事件后半部分)</li>
- <li>MouseOut - 当鼠标指针离开对象物理边界时触发</li>
- <li>MouseOver - 当鼠标指针进入对象物理边界时触发</li>
- <li>MouseMove -当鼠标指针在对象物理边界内移动时触发</li>
- <li>ContextMenu - 用户点击鼠标右键时触发</li>
-</ul>
-
-<p>捕获事件并注册处理函数最简单的办法就是使用HTML,你可以把事件当成元素属性来使用。例子:</p>
-
-<pre class="brush:js"> &lt;span onclick="alert('Hello World!');"&gt;Click Here&lt;/span&gt;</pre>
-
-<p>要执行的JavaScript代码既可以作为属性值写在行内位置,也可以写成函数并用&lt;script&gt;包裹后放到HTML页面中:</p>
-
-<pre class="brush:js">&lt;script type="text/javascript"&gt;
- function onclick_callback () {
- alert ("Hello, World!");
- }
-&lt;/script&gt;
-&lt;span onclick="onclick_callback();"&gt;Click Here&lt;/span&gt;</pre>
-
-<p>另外,事件对象是可以被捕获和引用,开发者可以通过访问事件对象来获取更多信息,如捕获事件的对象、事件类型、哪个鼠标按键被点击等。我们还用上面的例子来说明:</p>
-
-<pre class="brush:js">&lt;script type="text/javascript"&gt;
- function onclick_callback(event) {
- var eType = event.type;
- /* the following is for compatability */
- /* Moz populates the target property of the event object */
- /* IE populates the srcElement property */
- var eTarget = event.target || event.srcElement;
-
- alert( "Captured Event (type=" + eType + ", target=" + eTarget );
- }
-&lt;/script&gt;
-&lt;span onclick="onclick_callback(event);"&gt;Click Here&lt;/span&gt;</pre>
-
-<p>对于事件的注册和接收还用注意一些的是,你可以给任何使用JavaScript生成的HTMLElement对象做相同的操作。下面的例子展示了一个这样的过程:生成span对象,添加到页面中的body,给span注册mouse-over、mouse-out、mouse-down和 mouse-up事件。</p>
-
-<pre class="brush:js">&lt;script type="text/javascript"&gt;
- function mouseevent_callback(event) {
- /* The following is for compatability */
- /* IE does NOT by default pass the event object */
- /* obtain a ref to the event if one was not given */
- if (!event) event = window.event;
-
- /* obtain event type and target as earlier */
- var eType = event.type;
- var eTarget = event.target || event.srcElement;
- alert(eType +' event on element with id: '+ eTarget.id);
- }
-
- function onload () {
- /* obtain a ref to the 'body' element of the page */
- var body = document.body;
- /* create a span element to be clicked */
- var span = document.createElement('span');
- span.id = 'ExampleSpan';
- span.appendChild(document.createTextNode ('Click Here!'));
-
- /* register the span object to receive specific mouse events */
- span.onmousedown = mouseevent_callback;
- span.onmouseup = mouseevent_callback;
- span.onmouseover = mouseevent_callback;
- span.onmouseout = mouseevent_callback;
-
- /* display the span on the page */
- body.appendChild(span);
-}
-&lt;/script&gt;</pre>
-
-<p>{{ draft() }}</p>
-
-<h2 id="Example:_Catching_a_keyboard_event" name="Example:_Catching_a_keyboard_event">举例:捕获一个键盘事件</h2>
-
-<p>同上面的例子类似,键盘事件捕获也依赖于JavaScript事件系统。当键盘上的键被使用的时候触发键盘事件。</p>
-
-<p>下面的列表展示了一些具体的键盘事件,同鼠标事件相比是很少的:</p>
-
-<ul>
- <li>KeyPress - 按键被按下并且释放后触发</li>
- <li>KeyDown - 按键被按下但是还没有被释放时触发</li>
- <li>KeyUp - 按键被释放时触发</li>
- <li>TextInput ( Webkit浏览器下可以使用,并且只在输入时有效) - 通过粘贴、语音或者键盘输入文本时触发。本文不介绍该事件。</li>
-</ul>
-
-<p>在一个 <a class="new " href="/en-US/docs/DOM/event/keypress" rel="internal">keypress</a> 事件中,键值的Unicode编码会存储到属性keyCode或者<code><a href="/en-US/docs/DOM/event.charCode" rel="internal">charCode</a></code> 中,但是两者不会同时存在。按键会生成一个字母 (如 'a'),这时会把字母的编码存储到<code>charCode</code> 中,注意这里是区分大小写的( <code>charCode</code> 会判断shift键是否同时被按下)。其他情况下,编码会存储到 <code>keyCode中。</code></p>
-
-<p>捕获键盘事件最简单的方法仍然是在HTML中注册键盘事件的处理函数,在元素属性中处理相关事件。 举例:</p>
-
-<pre class="brush:js"> &lt;input type="text" onkeypress="alert ('Hello World!');"&gt;&lt;/input&gt;
-</pre>
-
-<p>同鼠标事件类似,你的 JavaScript代码既可以写到属性值内,也可以作为函数用&lt;script包裹后写到HTML页面中:</p>
-
-<pre class="brush:js">&lt;script type="text/javascript"&gt;
- function onkeypress_callback () {
- alert ("Hello, World!");
- }
-&lt;/script&gt;
-
-&lt;input onkeypress="onkeypress_callback();"&gt;&lt;/input&gt;
-</pre>
-
-<p>捕获事件和引用事件源(一个真实的键被按下时) 的方法同鼠标事件类似:</p>
-
-<pre class="brush:js">&lt;script type="text/javascript"&gt;
- function onkeypress_callback(evt) {
- var eType = evt.type; // Will return "keypress" as the event type
- var eCode = 'keyCode is ' + evt.keyCode;
- var eChar = 'charCode is ' + evt.charCode;
-
- alert ("Captured Event (type=" + eType + ", key Unicode value=" + eCode + ", ASCII value=" + eChar + ")");
- }
-&lt;/script&gt;
-&lt;input onkeypress="onkeypress_callback(event);"&gt;&lt;/input&gt;</pre>
-
-<p>要捕获页面上所有的键盘事件,可以在document上注册和绑定相关的处理函数:</p>
-
-<pre class="brush:js">&lt;script type="text/javascript"&gt;
- document.onkeypress = key_event;
- document.onkeydown = key_event;
- document.onkeyup = key_event;
-
- function key_event(evt) {
- var eType = evt.type;
- var eCode = "ASCII code is " + evt.keyCode;
- var eChar = 'charCode is ' + evt.charCode;
-
- alert ("Captured Event (type=" + eType + ", key Unicode value=" + eCode + ", ASCII value=" + eChar + ")");
- }
-&lt;/script&gt;</pre>
-
-<p>下面是一个完整的键盘事件处理过程:</p>
-
-<pre class="brush:js">&lt;!DOCTYPE html&gt;
-&lt;html&gt;
-&lt;head&gt;
- &lt;script&gt;
- var metaChar = false;
- var exampleKey = 16;
- function keyEvent(event) {
- var key = event.keyCode || event.which;
- var keychar = String.fromCharCode(key);
- if (key==exampleKey) { metaChar = true; }
- if (key!=exampleKey) {
- if (metaChar) {
- alert("Combination of metaKey + " + keychar)
- metaChar = false;
- } else { alert("Key pressed " + key); }
- }
- }
- function metaKeyUp (event) {
- var key = event.keyCode || event.which;
- if (key==exampleKey) { metaChar = false; }
- }
- &lt;/script&gt;
-&lt;/head&gt;
-&lt;body onkeydown="keyEvent(event)" onkeyup="metaKeyUp(event)"&gt;
-&lt;/body&gt;
-&lt;/html&gt;</pre>
-
-<h3 id="浏览器_bugs_和_quirks">浏览器 bugs 和 quirks</h3>
-
-<p>键盘事件中有两个可用的属性<code style="font-style: normal; line-height: 1.5;">keyCode</code><span style="line-height: 1.5;"> 和 </span><code style="font-style: normal; line-height: 1.5;">charCode。通常情况下,</code><code style="font-style: normal; line-height: 1.5;">keyCode</code><span style="line-height: 1.5;"> 指向的是用户按下的键盘上的那个键,而</span><code style="font-style: normal; line-height: 1.5;">charCode</code><span style="line-height: 1.5;"> 存储的是相应键的 ASCII 码值。这两个值不一定相同,如, 小写 'a' 和 大写 'A' 拥有相同的 </span><code style="font-style: normal; line-height: 1.5;">keyCode,因为用户按下的是相同的按键,但是他们的</code><code style="font-style: normal; line-height: 1.5;">charCode不同,因为两个字母的码值不同。</code><span style="line-height: 1.5;"> </span></p>
-
-<p>不同浏览器对于charCode的处理方式并不统一。例如Internet Explorer 和Opera 并不支持 <code>charCode,他们把字母信息写到了</code><code>keyCode</code>中,而且只在 onkeypress下有效。在 Onkeydown 和Onkeyup的事件中, <code>keyCode</code> 存储的仍然是按键的相关信息。 Firefox 则使用 "which", 来区分字母。.</p>
-
-<p>可以到 Mozilla 文档 <a href="/en-US/docs/DOM/Event/UIEvent/KeyboardEvent" title="https://developer.mozilla.org/en-US/docs/DOM/Event/UIEvent/KeyEvent">Keyboard Events</a> 去了解关于键盘事件的更多信息。.</p>
-
-<p>{{ draft() }}</p>
-
-<h2 id="Example:_Dragging_images_around" name="Example:_Dragging_images_around">举例:拖曳图片</h2>
-
-<p>下面的例子展示了firefox浏览器下如何实现拖动图片:</p>
-
-<pre class="brush:js">&lt;!DOCTYPE html&gt;
-&lt;html&gt;
-&lt;head&gt;
-&lt;style type='text/css'&gt;
-img { position: absolute; }
-&lt;/style&gt;
-
-&lt;script type='text/javascript'&gt;
-window.onload = function() {
-
- movMeId=document.getElementById("ImgMov");
- movMeId.style.top = "80px";
- movMeId.style.left = "80px";
-  movMeId.style.position = "absolute";
-
- document.onmousedown = coordinates;
- document.onmouseup=mouseup;
-
- function coordinates(e) {
- if (e == null) { e = window.event;}
- var sender = (typeof( window.event ) != "undefined" ) ? e.srcElement : e.target;
-
- if (sender.id=="ImgMov") {
- mouseover = true;
- pleft = parseInt(movMeId.style.left);
- ptop = parseInt(movMeId.style.top);
- xcoor = e.clientX;
- ycoor = e.clientY;
- document.onmousemove=moveImage;
- return false;
- } else {
- return false;
- }
- }
-
- function moveImage(e) {
- if (e == null) { e = window.event; }
- movMeId.style.left = pleft+e.clientX-xcoor+"px";
- movMeId.style.top = ptop+e.clientY-ycoor+"px";
- return false;
- }
-
- function mouseup(e) {
- document.onmousemove = null;
- }
-}
-&lt;/script&gt;
-&lt;/head&gt;
-
-&lt;body&gt;
- &lt;img id="ImgMov" src="http://mozcom-cdn.mozilla.net/img/covehead/about/logo/download/logo-only.png" width="64" height="64"/&gt;
- &lt;p&gt;Drag and drop around the image in this page.&lt;/p&gt;
-&lt;/body&gt;
-
-&lt;/html&gt;</pre>
-
-<h2 id="Example:_Resizing_things" name="Example:_Resizing_things">举例:改变大小</h2>
-
-<div>{{todo("Need Content. Or, remove headline")}}</div>
-
-<h3 id="Example:_Drawing_Lines" name="Example:_Drawing_Lines">举例:绘制直线</h3>
-
-<div class="originaldocinfo">
-<h2 id="Original_Document_Information" name="Original_Document_Information">附加文档信息</h2>
-
-<ul>
- <li>作者: <a class="external" href="http://linuxmachines.com/">Jeff Carr</a></li>
- <li>Here is a attempt at a new <a href="/en-US/docs/javascript_new_testpage" title="en-US/docs/javascript_new_testpage">JavaScript new testpage</a></li>
- <li>最后修改: July 14 2005</li>
- <li>版权信息: © 2005 by individual contributors; content available under the <a class="external" href="http://www.mozilla.org/foundation/licensing/website-content.html">Creative Commons license</a></li>
-</ul>
-</div>
-
-<p> </p>
diff --git a/files/zh-cn/web/javascript/guide/about/index.html b/files/zh-cn/web/javascript/guide/about/index.html
deleted file mode 100644
index d8b77fece9..0000000000
--- a/files/zh-cn/web/javascript/guide/about/index.html
+++ /dev/null
@@ -1,136 +0,0 @@
----
-title: 关于本指南
-slug: Web/JavaScript/Guide/About
-tags:
- - JavaScript
- - 初学者
- - 指南
-translation_of: Web/JavaScript/Guide/Introduction
-translation_of_original: Web/JavaScript/Guide/About
----
-<p>JavaScript 是一种跨平台的,基于对象的脚本语言。本指南介绍了所有您使用 JavaScript 所需要了解的事情。</p>
-
-<h2 id="JavaScript_各版本中的新特性">JavaScript 各版本中的新特性</h2>
-
-
-<p></p><ul>
-<li><a href="/zh-CN/docs/Web/JavaScript/New_in_JavaScript/1.2">JavaScript 1.2的新特性</a></li><li><a href="/zh-CN/docs/Web/JavaScript/New_in_JavaScript/1.3">JavaScript 1.3的新特性</a></li><li><a href="/zh-CN/docs/Web/JavaScript/New_in_JavaScript/1.4">JavaScript 1.4的新特性</a></li><li><a href="/zh-CN/docs/Web/JavaScript/New_in_JavaScript/1.5">JavaScript 1.5 的新特性</a></li><li><a href="/zh-CN/docs/Web/JavaScript/New_in_JavaScript/1.6">JavaScript 1.6 的新特性</a></li><li><a href="/zh-CN/docs/Web/JavaScript/New_in_JavaScript/1.7">JavaScript 1.7 的新特性</a></li><li><a href="/zh-CN/docs/Web/JavaScript/New_in_JavaScript/1.8">New in JavaScript 1.8</a></li><li><a href="/zh-CN/docs/Web/JavaScript/New_in_JavaScript/1.8.1">JavaScript 1.8.1 的新特性</a></li><li><a href="/zh-CN/docs/Web/JavaScript/New_in_JavaScript/1.8.5">JavaScript 1.8.5 的新特性</a></li>
-</ul><p></p>
-
-<h2 id="您应该已经了解的事情">您应该已经了解的事情</h2>
-
-<p>本指南假设您具有以下背景:</p>
-
-<ul>
- <li>对互联网和万维网(WWW)有基本的理解。</li>
- <li>对于超文本标记语言(HTML)的较好认知。</li>
- <li>一些编程经验。如果你刚开始接触编程,请学习<a href="https://developer.mozilla.org/zh-CN/docs/JavaScript">JavaScript</a>页面所链接的教程</li>
-</ul>
-
-<h2 id="JavaScript_版本">JavaScript 版本</h2>
-
-<table class="standard-table">
- <caption>表格 1 JavaScript 和 Navigator 版本对照</caption>
- <thead>
- <tr>
- <th scope="col">JavaScript 版本</th>
- <th scope="col">Navigator 版本</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>JavaScript 1.0</td>
- <td>Navigator 2.0</td>
- </tr>
- <tr>
- <td>JavaScript 1.1</td>
- <td>Navigator 3.0</td>
- </tr>
- <tr>
- <td>JavaScript 1.2</td>
- <td>Navigator 4.0-4.05</td>
- </tr>
- <tr>
- <td>JavaScript 1.3</td>
- <td>Navigator 4.06-4.7x</td>
- </tr>
- <tr>
- <td>JavaScript 1.4</td>
- <td> </td>
- </tr>
- <tr>
- <td>JavaScript 1.5</td>
- <td>Navigator 6.0<br>
- Mozilla (开源浏览器)</td>
- </tr>
- <tr>
- <td>JavaScript 1.6</td>
- <td><a href="/en/Firefox_1.5_for_developers" title="en/Firefox_1.5_for_developers">Firefox 1.5</a>,及其它基于 Mozilla 1.8 的产品</td>
- </tr>
- <tr>
- <td>JavaScript 1.7</td>
- <td><a href="/en/Firefox_2_for_developers" title="en/Firefox_2_for_developers">Firefox 2</a>,及其它基于 Mozilla 1.8.1 的产品</td>
- </tr>
- <tr>
- <td>JavaScript 1.8</td>
- <td><a href="/en/Firefox_3_for_developers" title="en/Firefox_3_for_developers">Firefox 3</a>,及其它基于 Gecko 1.9 的产品</td>
- </tr>
- </tbody>
-</table>
-
-<h2 id="哪里可以找到_JavaScript_的信息">哪里可以找到 JavaScript 的信息</h2>
-
-<p>JavaScript 文档包括以下书目:</p>
-
-<ul>
- <li><a href="/en/JavaScript/Guide" title="en/Core_JavaScript_1.5_Guide">JavaScript 指南</a> (即本指南)提供了关于 JavaScript 语言及其对象的有关信息。</li>
- <li><a href="/en/JavaScript/Reference" title="en/JavaScript/Reference">JavaScript 参考</a> 提供 有关JavaScript 语言的参考资料。</li>
-</ul>
-
-<p>如果您刚刚开始接触 JavaScript,可以从<a href="/en/JavaScript/Guide" title="en/Core_JavaScript_1.5_Guide"> JavaScript 指南</a> 开始。一旦掌握了基础知识,您可以从 <a href="/en/JavaScript/Reference" title="en/JavaScript/Reference">JavaScript 参考</a> 中获得更多关于特定的对象和语句的细节。</p>
-
-<h2 id="学习_JavaScript_的窍门">学习 JavaScript 的窍门</h2>
-
-<p>开始学习 JavaScript 很容易:您只需要一个流行的 Web 浏览器即可。这本指南中包含了一些仅在 Firefox(以及其它基于 Gecko 的浏览器)的近期版本中才有的特性,因此,建议您使用最新的 Firefox 浏览器。</p>
-
-<p>在Firefox中内嵌了两个用于测验JavaScript非常有效的工具: Web终端和Scratchpad。</p>
-
-<h3 id="Web终端">Web终端</h3>
-
-<p><a href="/en-US/docs/Tools/Web_Console">web终端</a>会显示有关当前装载网页的信息,并且还包含<a href="https://developer.mozilla.org/en-US/docs/Tools/Web_Console#The_command_line_interpreter">命令行</a>,您可以用它在当前的网页中执行 JavaScript 语句。</p>
-
-<p>要打开 web 终端,请在 Firefox 中的“工具”菜单中选择 “Web Developer“ 中的 "Web Console"。它显示在浏览器窗口的底部。在终端的底部是一个命令行,你可以输入 JavaScript, 而在上面的面板中可以看到输出。</p>
-
-<p><img alt="Image:ErrorConsole.png" class="internal" src="https://mdn.mozillademos.org/files/7363/web-console-commandline.png" style="height: 589px; width: 878px;"></p>
-
-<h3 id="Scratchpad">Scratchpad</h3>
-
-<p>Web Console 在执行 JavaScript 的单个命令行时是非常好的,但是在执行多行命令时就没那么方便了,而且你也不可能在 Web Console 中保存你的代码。因此对于更复杂的例子,  <a href="https://developer.mozilla.org/en-US/docs/Tools/Scratchpad">Scratchpad</a> 是一个更好的工具。</p>
-
-<p> </p>
-
-<p>要打开 Scratchpad, 可以在 "Web Developer" 菜单下选择 "Scratchpad" , 它在 Firefox 中也位于 "Tools" 菜单下。它是一个单独的窗口以及编辑器,你可以使用它来写和执行浏览器中的代码。你也同样可以将脚本保存在硬盘,并且从硬盘装载。</p>
-
-<p>如果你选择了 "Inspect",  pad 中的代码会在浏览器中执行,其结果也会以 comment 的形式插入到 pad 中: </p>
-
-<p><img src="https://mdn.mozillademos.org/files/7365/scratchpad.png"></p>
-
-<h2 id="文档约定">文档约定</h2>
-
-<p>JavaScript 应用可以运行在许多操作系统之上;本书中所给出的信息适用于所有这些系统。文件和目录的路径将以 Windows 的形式给出(反斜线用于分隔目录名)。对于 Unix 系统,目录的路径是相同的,只是将反斜线换成斜线即可。</p>
-
-<p>本指南使用如下形式的统一资源定位符(URL):</p>
-
-<p><code>http://<em>server</em>.<em>domain</em>/<em>path</em>/<em>file</em>.html</code></p>
-
-<p>在这些 URL 中,<em>server</em> 表示您的应用所运行的服务器的名称,比如 <code>research1</code> 或者 <code>www</code>;<em>domain</em> 表示您的互联网域名,比如 <code>netscape.com</code> 或者 <code>uiuc.edu</code>; <em>path</em> 表示在服务器中的目录结构;而 <em>file</em><code>.html</code> 则表示特定的文件名。一般来讲,URL 中的斜体部分为占位符,而其中的等宽字体则为原文。如果您的服务器启用了安全套接字层(SSL),则需要将 URL 中的 <code>http</code> 换成 <code>https。</code></p>
-
-<p>本指南使用如下字体约定:</p>
-
-<ul>
- <li>等宽字体用于示例代码,代码罗列,API 以及语言元素(比如方法名或者属性名),文件名,路径名,目录名,HTML 标签,以及其它任何必需键入到屏幕中的文本。(等宽斜体字用于代码中的占位符)</li>
- <li><em>斜体字</em> 用于本书的标题,强调,变量和占位符以及其它直接字面上的词汇。</li>
- <li><strong>粗体</strong> 用于词汇表。</li>
-</ul>
-
-<div>{{ PreviousNext("JavaScript/Guide", "JavaScript/Guide/JavaScript_Overview") }}</div>
diff --git a/files/zh-cn/web/javascript/guide/javascript_overview/index.html b/files/zh-cn/web/javascript/guide/javascript_overview/index.html
deleted file mode 100644
index 96114a1f43..0000000000
--- a/files/zh-cn/web/javascript/guide/javascript_overview/index.html
+++ /dev/null
@@ -1,136 +0,0 @@
----
-title: JavaScript 概述
-slug: Web/JavaScript/Guide/JavaScript_Overview
-tags:
- - ECMAScript
-translation_of: Web/JavaScript/Guide/Introduction
-translation_of_original: Web/JavaScript/Guide/JavaScript_Overview
----
-<p>本节将介绍并讨论 JavaScript 的基本概念。</p>
-
-<h2 id="What_is_JavaScript.3F" name="What_is_JavaScript.3F">什么是 JavaScript?</h2>
-
-<p>JavaScript 是一种跨平台,面向对象的脚本语言。作为一种小巧且轻量级的语言,JavaScript 无意于独立运行,而是被设计为可以轻易嵌入到其它的产品和应用中,比如 Web 浏览器。在宿主环境中,JavaScript 可以被连接到环境中的对象之上,以提供对其的编程控制。</p>
-
-<p>核心的 JavaScript 中包含有一组核心的对象,包括 <code>Array,</code><code>Date</code> 和 <code>Math</code>,以及一组核心的语言要素,包括操作符,控制结构和语句。出于多种目的,可以通过为其增补附加的对象,对核心 JavaScript 加以扩展;例如:</p>
-
-<ul>
- <li><em>客户端 JavaScript</em> 提供了用于控制浏览器(Navigator 或者其它浏览器)以及其中的文档对象模型(DOM)的对象,从而扩展了核心 JavaScript。例如,客户端扩展允许应用程序在 HTML 的表单中加入元素,以便响应用户事件,比如鼠标点击,表单输入和页面导航。</li>
- <li><em>服务器端 JavaScript</em> 提供了服务于在服务器上运行 JavaScript 的对象,从而扩展了核心 JavaScript。例如,服务器端扩展可以允许应用程序访问关系型数据库,在应用程序的不同调用间提供信息的连续性,甚至于处理服务器之上的文件。</li>
-</ul>
-
-<p>借由 JavaScript 的 LiveConnect 功能,您可以让 Java 和 JavaScript 间实现通讯。从 JavaScript 中,您可以创建 Java 对象并访问它们的公共方法和域。从 Java 中,也可以访问 JavaScript 的对象,属性和方法。</p>
-
-<p>Netscape 发明了 JavaScript 并将 JavaScript 首先用于 Netscape 浏览器中。</p>
-
-<h2 id="JavaScript_and_Java" name="JavaScript_and_Java">JavaScript 和 Java</h2>
-
-<p>JavaScript 和 Java 虽然在某些方面相似,但在另外一些方面确有着本质的不同。JavaScript 语言类似于 Java 语言,但是没有 Java 的类型静态化和强类型检查。JavaScript 大部分的表达式语法,命名规范以及基本的控制流构成都和 Java 相同。正是由于这个原因,JavaScript 才从 LiveScript 改名得来。</p>
-
-<p>不同于 Java 的通过声明而形成的编译时的类系统,JavaScript 支持基于少量数据类型的运行时系统,这些数据类型用以表示数值、布尔值和字符串。JavaScript 使用基于原型的对象模型,而不是更常见的基于类的对象模型。基于原型的对象模型提供了动态的继承能力,实际上,究竟什么得到继承,对于每个对象都可能不同。JavaScript 还支持无需任何特殊的声明要求的函数。函数可以作为对象的属性,当成松散类型方法(loosely typed method)来执行。</p>
-
-<p>相比 Java 而言,JavaScript 是一种格式相当自由的语言。无需声明所有的变量,类和方法。无需关心方法是公共的,私有的或者是保护的,也无需实现接口。变量,参数,以及返回值都无需显式的类型声明。</p>
-
-<p>Java 是基于类的编程语言,目标在于快速的执行和类型安全。这里的类型安全,可以是比如,你不能将 Java 的整数强制转换为对象引用,或者通过篡改 Java 字节码来达到访问私有内存区域的目的。Java 基于类的模型意味着程序完全由类及其方法构成。这些类的继承以及强类型通常需要紧密耦合的对象层级结构。这些需求使得 Java 编程远比 JavaScript 编程要复杂。</p>
-
-<p>相比之下,JavaScript 的设计理念源于一系列更小巧的动态类型语言,比如 HyperTalk 和 dBASE。这些脚本语言以其更为简单的语法,更专业化的内建功能,以及最小化的对象创建需求,提供了更为大众化的编程工具。</p>
-
-<table class="standard-table">
- <caption>表 1.1 JavaScript 与 Java 的对比</caption>
- <thead>
- <tr>
- <th scope="col">JavaScript</th>
- <th scope="col">Java</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>面向对象的。对象的类型间没有区别。继承是基于原型机制实现的,且属性和方法可以动态地添加到任何对象之上。</td>
- <td>基于类的。对象被划分为类和实例,且所有的继承是通过类的层级结构实现的。类或者实例不能动态地添加属性或方法。</td>
- </tr>
- <tr>
- <td>变量的数据类型无需声明(动态化类型)。</td>
- <td>变量的数据类型必需声明(静态化类型)。</td>
- </tr>
- <tr>
- <td>不能自动地写入硬盘</td>
- <td>不能自动地写入硬盘</td>
- </tr>
- </tbody>
-</table>
-
-<p>有关 JavaScript 和 Java 之间区别的更多信息,参见 <a href="/zh-CN/docs/JavaScript/Guide/Details_of_the_Object_Model" title="JavaScript/Guide/Details of the Object Model">对象模型的细节</a>。</p>
-
-<h2 id="JavaScript_and_the_ECMAScript_Specification" name="JavaScript_and_the_ECMAScript_Specification">JavaScript 和 ECMAScript 规范</h2>
-
-<p>Netscape 发明了 JavaScript 并将 JavaScript 首先用于 Netscape 浏览器中。不过, Netscape 正在与 <a class="external" href="http://www.ecma-international.org/">Ecma International</a> — 欧洲信息和通讯标准化协会(ECMA 曾是 European Computer Manufacturers Association,既欧洲计算机制造商协会的缩写)一道致力于交付一个基于核心 JavaScript 的,标准化的,国际化的编程语言,既 ECMAScript。ECMAScript 在所有支持该标准的应用程序中具有相同的特性。其它公司可以使用开放的标准语言来开发它们的 JavaScript 实现。ECMAScript 标准在 ECMA-262 规范中加以记述。</p>
-
-<p>ECMA-262 标准由 <a class="external" href="http://www.iso.ch/">ISO</a>(International Organization for Standardization,既国际化标准化组织)批准为 ISO-16262。在 Mozilla 网站上可以找到 <a class="external" href="http://www-archive.mozilla.org/js/language/E262-3.pdf" title="http://www-archive.mozilla.org/js/language/E262-3.pdf">PDF 版本的 ECMA-262</a> (过时的版本)。在 <a class="external" href="http://www.ecma-international.org/publications/standards/Ecma-262.htm">Ecma International 的网站</a> 上也可以找到该规范。ECMAScript 规范没有描述文档对象模型(DOM)。该模型由 <a class="external" href="http://www.w3.org/">World Wide Web Consortium (W3C)</a> 完成标准化。DOM 定义了 HTML 文档对象呈现在脚本中的方式。</p>
-
-<h3 id="Relationship_between_JavaScript_Versions_and_ECMAScript_Editions" name="Relationship_between_JavaScript_Versions_and_ECMAScript_Editions">JavaScript 版本和 ECMAScript 版本之间的关系</h3>
-
-<p>Netscape 与 Ecma International 的紧密合作形成了 ECMAScript 规范(ECMA-262)。下面的表格描述了 JavaScript 版本和 ECMAScript 版本之间的关系。</p>
-
-<table class="standard-table">
- <caption>表 1.2 JavaScript 版本和 ECMAScript 版本</caption>
- <thead>
- <tr>
- <th scope="row">JavaScript 版本</th>
- <th scope="col">与 ECMAScript 版本的关系</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>JavaScript 1.1</td>
- <td>ECMA-262,第 1 版 基于 JavaScript 1.1.</td>
- </tr>
- <tr>
- <td>JavaScript 1.2</td>
- <td>ECMA-262 在 JavaScript 1.2 发布时尚未完成。由于以下原因,JavaScript 1.2 并不与 ECMA-262,第 1 版完全兼容:
- <ul>
- <li>Netscape 在 JavaScript 1.2 开发了一些新的特性尚未被 ECMA-262 采纳。</li>
- <li>ECMA-262 添加了两项新特性:基于 Unicode 的国际化,以及跨平台的一致行为。而 JavaScript 1.2 的某些特性,例如 <code>Date</code> 对象,是依赖于平台的,且具有特定于平台的行为。</li>
- </ul>
- </td>
- </tr>
- <tr>
- <td>JavaScript 1.3</td>
- <td>JavaScript 1.3 完全兼容于 ECMA-262,第 1 版。<br>
- JavaScript 1.3 解决了 JavaScript 1.2 与 ECMA-262 之间的不一致性,同时保留了 JavaScript 1.2 中的附加特性,除了  <code>==</code> 和 <code>!= 被修改以便顺应于</code> ECMA-262 之外。</td>
- </tr>
- <tr>
- <td>JavaScript 1.4</td>
- <td>JavaScript 1.4 完全兼容于 ECMA-262,第 1 版。<br>
- ECMAScript 规范的第三版在 JavaScript 1.4 发布时尚未最终完成。</td>
- </tr>
- <tr>
- <td>JavaScript 1.5</td>
- <td>JavaScript 1.5 完全兼容于 ECMA-262,第 3 版。</td>
- </tr>
- </tbody>
-</table>
-
-<div class="note"><strong>注:</strong>ECMA-262,第 2 版仅包含对第 1 版规范的细微的编辑性的改动和错误修正。由 Ecma International 的 TC39 工作组发布的最新版本为 ECMAScript 版本 5.1</div>
-
-<p><a href="/en-US/docs/JavaScript/Reference" title="JavaScript/Reference">JavaScript 参考</a> 中标明了语言中的哪些特性兼容于 ECMAScript。</p>
-
-<p>JavaScript 将总会包含某些 ECMAScript 规范中所没有的特性;JavaScript 兼容于 ECMAScript,同时提供附加特性。</p>
-
-<h3 id="JavaScript_Documentation_versus_the_ECMAScript_Specification" name="JavaScript_Documentation_versus_the_ECMAScript_Specification">JavaScript 文档相较于 ECMAScript 规范</h3>
-
-<p>ECMAScript 规范了实现 ECMAScript 的一组需求;它有助于您确定某项 JavaScript 特性是否也为其它 ECMAScript 的实现所支持。如果您想编写仅仅使用 ECMAScript 所支持的特性的代码,那么您可能需要参考 ECMAScript 规范。</p>
-
-<p>ECMAScript 文档的目的不在于帮助脚本程序员;关于脚本编写的信息,请参考 JavaScript 文档。</p>
-
-<h3 id="JavaScript_and_ECMAScript_Terminology" name="JavaScript_and_ECMAScript_Terminology">JavaScript 和 ECMAScript 术语</h3>
-
-<p>ECMAScript 规范使用的术语和语法对于 JavaScript 程序员而言,可能会有点陌生。尽管对语言的描述方式在 ECMAScript 中可能不尽相同,但是语言本身还是相同的。JavaScript 支持 ECMAScript 规范中所勾勒出的全部功能。</p>
-
-<p>JavaScript 文档描述了语言中适合于 JavaScript 程序员的方面。例如:</p>
-
-<ul>
- <li>JavaScript 文档中没有描述全局对象,因为不会直接用到它。全局对象的属性和方法在 JavaScript 文档中被称为顶层函数和属性。</li>
- <li>JavaScript 文档中没有讨论 <code>Number</code> 和 <code>String</code> 对象的无参(零个参数)构造器,因为几乎不会用到其生成的对象。无参的 <code>Number</code> 构造器返回 +0,而无参的 <code>String</code> 构造器返回 "" (空的字符串)。</li>
-</ul>
-
-<div>{{ PreviousNext("JavaScript/Guide/About", "JavaScript/Guide/Values,_variables,_and_literals") }}</div>
diff --git a/files/zh-cn/web/javascript/guide/regular_expressions/boundaries/index.html b/files/zh-cn/web/javascript/guide/regular_expressions/boundaries/index.html
deleted file mode 100644
index 8ff8e9730b..0000000000
--- a/files/zh-cn/web/javascript/guide/regular_expressions/boundaries/index.html
+++ /dev/null
@@ -1,7 +0,0 @@
----
-title: Boundaries
-slug: Web/JavaScript/Guide/Regular_Expressions/Boundaries
-translation_of: Web/JavaScript/Guide/Regular_Expressions/Assertions
-translation_of_original: Web/JavaScript/Guide/Regular_Expressions/Boundaries
----
-<p>重定向至 <a class="redirect" href="/zh-CN/docs/Web/JavaScript/Guide/Regular_Expressions/Assertions">断言</a></p>
diff --git a/files/zh-cn/web/javascript/guide/regular_expressions/量词/index.html b/files/zh-cn/web/javascript/guide/regular_expressions/quantifiers/index.html
index bcc2a35e13..bcc2a35e13 100644
--- a/files/zh-cn/web/javascript/guide/regular_expressions/量词/index.html
+++ b/files/zh-cn/web/javascript/guide/regular_expressions/quantifiers/index.html
diff --git a/files/zh-cn/web/javascript/introduction_to_object-oriented_javascript/index.html b/files/zh-cn/web/javascript/introduction_to_object-oriented_javascript/index.html
deleted file mode 100644
index 1ae4554c63..0000000000
--- a/files/zh-cn/web/javascript/introduction_to_object-oriented_javascript/index.html
+++ /dev/null
@@ -1,362 +0,0 @@
----
-title: JavaScript面向对象简介
-slug: Web/JavaScript/Introduction_to_Object-Oriented_JavaScript
-tags:
- - JavaScript
- - OOP
- - 命名空间
- - 对象
- - 封装
- - 成员
- - 构造函数
- - 继承
- - 面向对象
-translation_of: Learn/JavaScript/Objects
-translation_of_original: Web/JavaScript/Introduction_to_Object-Oriented_JavaScript
----
-<div>{{jsSidebar("Introductory")}}</div>
-
-<div> </div>
-
-<p>JavaScript 的核心是支持面向对象的,同时它也提供了强大灵活的 OOP 语言能力。本文从对面向对象编程的介绍开始,带您探索 JavaScript 的对象模型,最后描述 JavaScript 当中面向对象编程的一些概念。</p>
-
-<h2 id="JavaScript_Review" name="JavaScript_Review">JavaScript回顾</h2>
-
-<p>如果您对 JavaScript 的概念(如变量、类型、方法和作用域等)缺乏自信,您可以在<a href="/zh-CN/JavaScript/A_re-introduction_to_JavaScript" title="en/JavaScript/A_re-introduction_to_JavaScript">重新介绍 JavaScript</a> 这篇文章里学习这些概念。您也可以查阅这篇 <a href="/zh-CN/JavaScript/Guide" title="en/JavaScript/Guide">JavaScript 1.5 核心指南</a>。</p>
-
-<h2 id="Object-oriented_programming" name="Object-oriented_programming">面向对象编程</h2>
-
-<p>面向对象编程是用抽象方式创建基于现实世界模型的一种编程模式。它使用先前建立的范例,包括模块化,多态和封装几种技术。今天,许多流行的编程语言(如Java,JavaScript,C#,C+ +,Python,PHP,Ruby和Objective-C)都支持面向对象编程(OOP)。</p>
-
-<p>相对于「一个程序只是一些函数的集合,或简单的计算机指令列表。」的传统软件设计观念而言,面向对象编程可以看作是使用一系列对象相互协作的软件设计。 在 OOP 中,每个对象能够接收消息,处理数据和发送消息给其他对象。每个对象都可以被看作是一个拥有清晰角色或责任的独立小机器。</p>
-
-<p>面向对象程序设计的目的是在编程中促进更好的灵活性和可维护性,在大型软件工程中广为流行。凭借其对模块化的重视,面向对象的代码开发更简单,更容易理解,相比非模块化编程方法 <a href="#cite-1"><sup>1</sup></a>, 它能更直接地分析, 编码和理解复杂的情况和过程。</p>
-
-<h2 id="Terminology" name="Terminology">术语</h2>
-
-<dl>
- <dt>Namespace 命名空间</dt>
- <dd>允许开发人员在一个独特,应用相关的名字的名称下捆绑所有功能的容器。</dd>
- <dt>Class 类</dt>
- <dd>定义对象的特征。它是对象的属性和方法的模板定义。</dd>
- <dt>Object 对象</dt>
- <dd>类的一个实例。</dd>
- <dt>Property 属性</dt>
- <dd>对象的特征,比如颜色。</dd>
- <dt>Method 方法</dt>
- <dd>对象的能力,比如行走。</dd>
- <dt>Constructor 构造函数</dt>
- <dd>对象初始化的瞬间,被调用的方法。通常它的名字与包含它的类一致。</dd>
- <dt>Inheritance 继承</dt>
- <dd>一个类可以继承另一个类的特征。</dd>
- <dt>Encapsulation 封装</dt>
- <dd>一种把数据和相关的方法绑定在一起使用的方法。</dd>
- <dt>Abstraction 抽象</dt>
- <dd>结合复杂的继承,方法,属性的对象能够模拟现实的模型。</dd>
- <dt>Polymorphism 多态</dt>
- <dd>多意为「许多」,态意为「形态」。不同类可以定义相同的方法或属性。</dd>
-</dl>
-
-<p>更多关于面向对象编程的描述,请参照维基百科的 <a class="external" href="http://zh.wikipedia.org/wiki/面向对象程序设计​">面向对象编程</a> 。</p>
-
-<h2 id="原型编程">原型编程</h2>
-
-<p>基于原型的编程不是面向对象编程中体现的风格,且行为重用(在基于类的语言中也称为继承)是通过装饰它作为原型的现有对象的过程实现的。这种模式也被称为弱类化,原型化,或基于实例的编程。</p>
-
-<p>原始的(也是最典型的)基于原型语言的例子是由大卫·安格尔和兰德尔·史密斯开发的。然而,弱类化的编程风格近来变得越来越流行,并已被诸如JavaScript,Cecil,NewtonScript,IO,MOO,REBOL,Kevo,Squeak(使用框架操纵Morphic组件),和其他几种编程语言采用。<a href="#cite-1"><sup>1</sup></a></p>
-
-<h2 id="JavaScript_Object_Oriented_Programming" name="JavaScript_Object_Oriented_Programming">JavaScript面向对象编程</h2>
-
-<h3 id="命名空间">命名空间</h3>
-
-<p>命名空间是一个容器,它允许开发人员在一个独特的,特定于应用程序的名称下捆绑所有的功能。 <strong>在JavaScript中,命名空间只是另一个包含方法,属性,对象的对象。</strong></p>
-
-<div class="note">
-<p><span style="font-size: 14px; line-height: 1.5;"><strong>注意:</strong>需要认识到重要的一点是:与其他面向对象编程语言不同的是,Javascript中的普通对象和命名空间在语言层面上没有区别。这点可能会让JavaScript初学者感到迷惑。</span></p>
-</div>
-
-<p>创造的JavaScript命名空间背后的想法很简单:一个全局对象被创建,所有的变量,方法和功能成为该对象的属性。使用命名空间也最大程度地减少应用程序的名称冲突的可能性。</p>
-
-<p>我们来创建一个全局变量叫做 MYAPP</p>
-
-<pre class="brush: js">// 全局命名空间
-var MYAPP = MYAPP || {};</pre>
-
-<p>在上面的代码示例中,我们首先检查MYAPP是否已经被定义(是否在同一文件中或在另一文件)。如果是的话,那么使用现有的MYAPP全局对象,否则,创建一个名为MYAPP的空对象用来封装方法,函数,变量和对象。</p>
-
-<p>我们也可以创建子命名空间:</p>
-
-<pre class="brush: js">// 子命名空间
-MYAPP.event = {};</pre>
-
-<p>下面是用于创建命名空间和添加变量,函数和方法的代码写法:</p>
-
-<pre class="brush: js">// 给普通方法和属性创建一个叫做MYAPP.commonMethod的容器
-MYAPP.commonMethod = {
- regExForName: "", // 定义名字的正则验证
- regExForPhone: "", // 定义电话的正则验证
- validateName: function(name){
- // 对名字name做些操作,你可以通过使用“this.regExForname”
- // 访问regExForName变量
- },
-
- validatePhoneNo: function(phoneNo){
- // 对电话号码做操作
- }
-}
-
-// 对象和方法一起申明
-MYAPP.event = {
- addListener: function(el, type, fn) {
- // 代码
- },
- removeListener: function(el, type, fn) {
- // 代码
- },
- getEvent: function(e) {
- // 代码
- }
-
- // 还可以添加其他的属性和方法
-}
-
-//使用addListener方法的写法:
-MYAPP.event.addListener("yourel", "type", callback);</pre>
-
-<h3 id="Core_Objects" name="Core_Objects">标准内置对象</h3>
-
-<p>JavaScript有包括在其核心的几个对象,例如,Math,Object,Array和String对象。下面的例子演示了如何使用Math对象的random()方法来获得一个随机数。</p>
-
-<pre class="brush: js">console.log(Math.random());
-</pre>
-
-<div class="note"><strong>注意:</strong>这里和接下来的例子都假设名为 <code>console.log</code> 的方法全局有定义。<code>console.log</code> 实际上不是 JavaScript 自带的。</div>
-
-<p>查看 <a href="https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects" title="en-US/docs/Web/JavaScript/Reference/Global_Objects">JavaScript 参考:全局对象</a> 了解 JavaScript 内置对象的列表。</p>
-
-<p>JavaScript 中的每个对象都是 <code>Object</code> 对象的实例且继承它所有的属性和方法。</p>
-
-<h3 id="Custom_Objects" name="Custom_Objects">自定义对象</h3>
-
-<h4 id="The_Class" name="The_Class">类</h4>
-
-<p>JavaScript是一种基于原型的语言,它没类的声明语句,比如C+ +或Java中用的。这有时会对习惯使用有类申明语句语言的程序员产生困扰。相反,JavaScript可用方法作类。定义一个类跟定义一个函数一样简单。在下面的例子中,我们定义了一个新类Person。</p>
-
-<pre class="brush: js">function Person() { }
-// 或
-var Person = function(){ }
-</pre>
-
-<h4 id="The_Object_.28Class_Instance.29" name="The_Object_.28Class_Instance.29">对象(类的实例)</h4>
-
-<p>我们使用 <code>new <em>obj </em></code><span style="font-size: 14.3999996185303px; line-height: 16.7999992370605px;">创建对象 </span><em><code>obj</code></em><span style="font-size: 14.3999996185303px; line-height: 16.7999992370605px;"> 的新实例</span><span style="font-size: 14px; line-height: 1.5;">, 将结果(</span><em><code>obj 类型</code></em><span style="font-size: 14px; line-height: 1.5;">)</span><span style="font-size: 14px; line-height: 1.5;">赋值给一个变量方便稍后调用。</span></p>
-
-<p>在下面的示例中,我们定义了一个名为<code>Person</code>的类,然后我们创建了两个<code>Person</code>的实例(<code>person1</code> and <code>person2</code>).</p>
-
-<pre class="brush: js">function Person() { }
-var person1 = new Person();
-var person2 = new Person();
-</pre>
-
-<div class="note"><strong>注意:</strong>有一种新增的创建未初始化实例的实例化方法,请参考 <a href="/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Object/create" title="Object.create">Object.create</a> 。</div>
-
-<h4 id="The_Constructor" name="The_Constructor">构造器</h4>
-
-<p>在实例化时构造器被调用 (也就是对象实例被创建时)。构造器是对象中的一个方法。 在JavaScript中函数就可以作为构造器使用,因此不需要特别地定义一个构造器方法,每个声明的函数都可以在实例化后被调用执行。</p>
-
-<p>构造器常用于给对象的属性赋值或者为调用函数做准备。 在本文的后面描述了类中方法既可以在定义时添加,也可以在使用前添加。</p>
-
-<p>在下面的示例中, <code>Person类实例化时构造器调用一个</code> alert函数。</p>
-
-<pre class="brush: js">function Person() {
- alert('Person instantiated');
-}
-
-var person1 = new Person();
-var person2 = new Person();
-</pre>
-
-<h4 id="The_Property_.28object_attribute.29" name="The_Property_.28object_attribute.29">属性 (对象属性)</h4>
-
-<p>属性就是 类中包含的变量;每一个对象实例有若干个属性. 为了正确的继承,属性应该被定义在类的原型属性 (函数)中。</p>
-
-<p>可以使用 关键字 <code>this</code>调用类中的属性, this是对当前对象的引用。 从外部存取(读/写)其属性的语法是: <code>InstanceName.Property</code>; 这与C++,Java或者许多其他语言中的语法是一样的 (在类中语法 <code>this.Property</code> 常用于set和get属性值)</p>
-
-<p>在下面的示例中,我们为定义<code>Person类定义了一个属性</code> <code>firstName</code> 并在实例化时赋初值。</p>
-
-<pre class="brush: js">function Person(firstName) {
- this.firstName = firstName;
- alert('Person instantiated');
-}
-
-var person1 = new Person('Alice');
-var person2 = new Person('Bob');
-
-// Show the firstName properties of the objects
-alert('person1 is ' + person1.firstName); // alerts "person1 is Alice"
-alert('person2 is ' + person2.firstName); // alerts "person2 is Bob"
-</pre>
-
-<h4 id="The_methods" name="The_methods">方法(对象属性)</h4>
-
-<p>方法与属性很相似, 不同的是:一个是函数,另一个可以被定义为函数。 调用方法很像存取一个属性,  不同的是add <code>()</code> 在方法名后面很可能带着参数. 为定义一个方法, 需要将一个函数赋值给类的 <code>prototype</code> 属性; 这个赋值给函数的名称就是用来给对象在外部调用它使用的。</p>
-
-<p>在下面的示例中,我们给<code>Person类</code>定义了方法 <code>sayHello()</code>,并调用了它.</p>
-
-<pre class="brush: js">function Person(firstName) {
- this.firstName = firstName;
-}
-
-Person.prototype.sayHello = function() {
- alert("Hello, I'm " + this.firstName);
-};
-
-var person1 = new Person("Alice");
-var person2 = new Person("Bob");
-
-// call the Person sayHello method.
-person1.sayHello(); // alerts "Hello, I'm Alice"
-person2.sayHello(); // alerts "Hello, I'm Bob"
-</pre>
-
-<p>在JavaScript中方法通常是一个绑定到对象中的普通函数, 这意味着方法可以在其所在context之外被调用。 思考下面示例中的代码:</p>
-
-<pre class="brush: js">function Person(firstName) {
- this.firstName = firstName;
-}
-
-Person.prototype.sayHello = function() {
- alert("Hello, I'm " + this.firstName);
-};
-
-var person1 = new Person("Alice");
-var person2 = new Person("Bob");
-var helloFunction = person1.sayHello;
-
-person1.sayHello(); // alerts "Hello, I'm Alice"
-person2.sayHello(); // alerts "Hello, I'm Bob"
-helloFunction(); // alerts "Hello, I'm undefined" (or fails
- // with a TypeError in strict mode)
-console.log(helloFunction === person1.sayHello); // logs true
-console.log(helloFunction === Person.prototype.sayHello); // logs true
-helloFunction.call(person1); // logs "Hello, I'm Alice"
-</pre>
-
-<p>如上例所示, 所有指向<code>sayHello函数的引用</code> ,包括 <code>person1</code>, <code>Person.prototype</code>, 和 <code>helloFunction</code> 等, 均引用了<em>相同的函数</em>.</p>
-
-<p>在调用函数的过程中,<span style="font-family: consolas,monaco,andale mono,monospace; line-height: 1.5;">this的值</span><span style="line-height: 1.5;">取决于我们怎么样调用函数. </span><span style="line-height: 1.5;"> 在通常情况下,我们通过一个表达式</span><span style="font-family: consolas,monaco,andale mono,monospace; line-height: 1.5;">person1.sayHello()</span><span style="line-height: 1.5;">来调用函数:即从一个对象的属性中得到所调用的函数</span><span style="line-height: 1.5;">。此时this被设置为我们取得函数的对象(即</span><span style="font-family: consolas,monaco,andale mono,monospace; line-height: 1.5;">person1</span><span style="line-height: 1.5;">)。这就是为什么</span><code style="font-style: normal; line-height: 1.5;">person1.sayHello()</code><span style="line-height: 1.5;"> 使用了姓名“Alice”而</span><code style="font-style: normal; line-height: 1.5;">person2.sayHello()使用了姓名“bob”的原因。</code><span style="line-height: 1.5;"> </span></p>
-
-<p><span style="line-height: 1.5;">然而我们使用不同的调用方法时, </span><code style="font-style: normal; line-height: 1.5;">this的值也就不同了</code><span style="line-height: 1.5;">。当从变量 </span><code style="font-style: normal; line-height: 1.5;">helloFunction()中调用的时候,</code><span style="line-height: 1.5;"> </span><code style="font-style: normal; line-height: 1.5;">this</code><span style="line-height: 1.5;">就被设置成了全局对象 (在浏览器中即</span><code style="font-style: normal; line-height: 1.5;">window</code><span style="line-height: 1.5;">)。由于该对象 (非常可能地) 没有</span><code style="font-style: normal; line-height: 1.5;">firstName</code><span style="line-height: 1.5;"> 属性, 我们得到的结果便是"Hello, I'm undefined". (这是松散模式下的结果, 在 </span><a href="/en-US/docs/Web/JavaScript/Reference/Functions_and_function_scope/Strict_mode">严格模式</a>中,结果将不同(此时会产生一个error)。<span style="line-height: 1.5;"> 但是为了避免混淆,我们在这里不涉及细节) 。另外,我们可以像上例末尾那样,使用</span><code style="font-style: normal; line-height: 1.5;">Function#call</code><span style="line-height: 1.5;"> (或者</span><code style="font-style: normal; line-height: 1.5;">Function#apply</code><span style="line-height: 1.5;">)</span><span style="line-height: 1.5;">显式的设置</span><span style="font-family: consolas,monaco,andale mono,monospace; line-height: 1.5;">this的值。</span></p>
-
-<div class="note">更多有关信息请参考 <a href="/zh-CN/JavaScript/Reference/Global_Objects/Function/call" title="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Function/call">Function#call</a> and <a href="/zh-CN/JavaScript/Reference/Global_Objects/Function/apply" title="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Function/apply">Function#apply</a></div>
-
-<h4 id="Inheritance" name="Inheritance">继承</h4>
-
-<p>创建一个或多个类的专门版本类方式称为继承(Javascript只支持单继承)。 创建的专门版本的类通常叫做子类,另外的类通常叫做父类。 在<span style="line-height: 1.5;">Javascript中,继承通过赋予子类一个父类的实例并专门化子类来实现。在现代浏览器中你可以使用 </span><a href="/zh-CN/docs/JavaScript/Reference/Global_Objects/Object/create#Classical_inheritance_with_Object.create" style="line-height: 1.5;" title="/en-US/docs/JavaScript/Reference/Global_Objects/Object/create#Classical_inheritance_with_Object.create">Object.create</a><span style="line-height: 1.5;"> 实现继承.</span></p>
-
-<div class="note">
-<p>JavaScript 并不检测子类的 <code>prototype.constructor</code> (见 <a href="/zh-CN/docs/JavaScript/Reference/Global_Objects/Object/prototype">Object.prototype</a>), 所以我们必须手动申明它.</p>
-</div>
-
-<p>在下面的例子中, 我们定义了 <code>Student类作为</code> <code>Person类的子类</code>. 之后我们重定义了<code>sayHello()</code> 方法并添加了 <code>sayGoodBye() 方法</code>.</p>
-
-<pre class="brush: js">// 定义Person构造器
-function Person(firstName) {
- this.firstName = firstName;
-}
-
-// 在Person.prototype中加入方法
-Person.prototype.walk = function(){
- alert("I am walking!");
-};
-Person.prototype.sayHello = function(){
- alert("Hello, I'm " + this.firstName);
-};
-
-// 定义Student构造器
-function Student(firstName, subject) {
- // 调用父类构造器, 确保(使用Function#call)"this" 在调用过程中设置正确
- Person.call(this, firstName);
-
- // 初始化Student类特有属性
- this.subject = subject;
-};
-
-// 建立一个由Person.prototype继承而来的Student.prototype对象.
-// 注意: 常见的错误是使用 "new Person()"来建立Student.prototype.
-// 这样做的错误之处有很多, 最重要的一点是我们在实例化时
-// 不能赋予Person类任何的FirstName参数
-// 调用Person的正确位置如下,我们从Student中来调用它
-Student.prototype = Object.create(Person.prototype); // See note below
-
-// 设置"constructor" 属性指向Student
-Student.prototype.constructor = Student;
-
-// 更换"sayHello" 方法
-Student.prototype.sayHello = function(){
- console.log("Hello, I'm " + this.firstName + ". I'm studying " + this.subject + ".");
-};
-
-// 加入"sayGoodBye" 方法
-Student.prototype.sayGoodBye = function(){
- console.log("Goodbye!");
-};
-
-// 测试实例:
-var student1 = new Student("Janet", "Applied Physics");
-student1.sayHello(); // "Hello, I'm Janet. I'm studying Applied Physics."
-student1.walk(); // "I am walking!"
-student1.sayGoodBye(); // "Goodbye!"
-
-// Check that instanceof works correctly
-console.log(student1 instanceof Person); // true
-console.log(student1 instanceof Student); // true
-</pre>
-
-<p>对于“<span style="font-family: consolas,monaco,andale mono,monospace;">Student.prototype = Object.create(Person.prototype);</span>”这一行,在不支持 <code><a href="/en/JavaScript/Reference/Global_Objects/Object/create" title="Object.create">Object.create</a>方法的老JavaScript引擎中,可以使用一个</code>"polyfill"(又名"shim",查看文章链接),或者使用一个function来获得相同的返回值,就像下面:</p>
-
-<pre class="brush: js">function createObject(proto) {
- function ctor() { }
- ctor.prototype = proto;
- return new ctor();
-}
-
-// Usage:
-Student.prototype = createObject(Person.prototype);
-</pre>
-
-<div class="note">更多相关信息请参考<em> </em><a href="/en/JavaScript/Reference/Global_Objects/Object/create" style="font-style: italic;" title="Object.create">Object.create</a>,连接中还有一个老JavaScript引擎的兼容方案(shim)。</div>
-
-<h4 id="Encapsulation" name="Encapsulation">封装</h4>
-
-<p>在上一个例子中,Student类虽然不需要知道Person类的walk()方法是如何实现的,但是仍然可以使用这个方法;Student类不需要明确地定义这个方法,除非我们想改变它。 这就叫做<strong>封装</strong>,对于所有继承自父类的方法,只需要在子类中定义那些你想改变的即可。</p>
-
-<h4 id="Abstraction" name="Abstraction">抽象</h4>
-
-<p>抽象是允许模拟工作问题中通用部分的一种机制。这可以通过继承(具体化)或组合来实现。<br>
- JavaScript通过继承实现具体化,通过让类的实例是其他对象的属性值来实现组合。</p>
-
-<p>JavaScript Function 类继承自Object类(这是典型的具体化) 。Function.prototype的属性是一个Object实例(这是典型的组合)。</p>
-
-<pre class="brush: js">var foo = function(){};
-console.log( 'foo is a Function: ' + (foo instanceof Function) ); <span style="font-size: 1rem;">// logs "</span><span style="font-size: 1rem;">foo is a Function: true</span><span style="font-size: 1rem;">"</span>
-console.log( 'foo.prototype is an Object: ' + (foo.prototype instanceof Object) ); // logs "<span style="font-size: 1rem;">foo.prototype is an Object: true</span><span style="font-size: 1rem;">"</span></pre>
-
-<h4 id="Polymorphism" name="Polymorphism">多态</h4>
-
-<p>就像所有定义在原型属性内部的方法和属性一样,不同的类可以定义具有相同名称的方法;方法是作用于所在的类中。并且这仅在两个类不是父子关系时成立(继承链中,一个类不是继承自其他类)。</p>
-
-<h2 id="Notes" name="Notes">注意</h2>
-
-<p>本文中所展示的面向对象编程技术不是唯一的实现方式,在JavaScript中面向对象的实现是非常灵活的。</p>
-
-<p>同样的,文中展示的技术没有使用任何语言hacks,它们也没有模仿其他语言的对象理论实现。</p>
-
-<p>JavaScript中还有其他一些更加先进的面向对象技术,但这些都超出了本文的介绍范围。</p>
-
-<h2 id="References" name="References">参考</h2>
-
-<ol>
- <li><span style="line-height: 1.5;"><a name="cite-1"></a>维基百科。「</span>面向对象程序设计」,<a href="http://zh.wikipedia.org/wiki/面向对象程序设计">http://zh.wikipedia.org/wiki/面向对象程序设计​</a></li>
- <li>维基百科。“<a href="http://en.wikipedia.org/wiki/Encapsulation_%28object-oriented_programming%29">Encapsulation (object-oriented programming)</a>”</li>
-</ol>
diff --git a/files/zh-cn/web/javascript/introduction_to_using_xpath_in_javascript/index.html b/files/zh-cn/web/javascript/introduction_to_using_xpath_in_javascript/index.html
deleted file mode 100644
index cc4b806fa6..0000000000
--- a/files/zh-cn/web/javascript/introduction_to_using_xpath_in_javascript/index.html
+++ /dev/null
@@ -1,436 +0,0 @@
----
-title: Introduction to using XPath in JavaScript
-slug: Web/JavaScript/Introduction_to_using_XPath_in_JavaScript
-tags:
- - DOM
- - Extensions
- - Transforming_XML_with_XSLT
- - Web Development
- - XPath
-translation_of: Web/XPath/Introduction_to_using_XPath_in_JavaScript
----
-<p>该篇文档描述了如何在扩展和网站内部通过JavaScript调用 <a href="/zh-CN/XPath" title="zh-CN/XPath">XPath</a> 接口。 Mozilla 实现了相当多的 <a class="external" href="http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html">DOM 3 XPath</a>,意味着 Xpath 表达式已经可以在 HTML 和 XML 文档中使用。</p>
-
-<p>使用 XPath 的主要接口是 <a href="/zh-CN/DOM/document" title="zh-CN/DOM/document">document</a> 对象的 <a href="/zh-CN/DOM/document.evaluate" title="zh-CN/DOM/document.evaluate">evaluate</a> 方法。</p>
-
-<h2 id="document.evaluate" name="document.evaluate">document.evaluate</h2>
-
-<p>此方法针对基于 <a href="https://developer.mozilla.org/en-US/docs/Glossary/XML">XML</a> 的文档(包括 HTML 文档)评估 XPath 表达式,并返回 <a href="https://developer.mozilla.org/en-US/docs/XPathResult">XPathResult</a> 对象,该对象可以是单个节点或一组节点。这个方法的现有文档位于 <a href="https://developer.mozilla.org/en-US/docs/Web/API/Document.evaluate">document.evaluate</a>,但是对于我们现在的需求来说它相当稀疏;下面将给出更全面的研究。</p>
-
-<pre class="brush: js">var xpathResult = document.evaluate( xpathExpression, contextNode, namespaceResolver, resultType, result );
-</pre>
-
-<h3 id="Parameters" name="Parameters">参数</h3>
-
-<p><a href="https://developer.mozilla.org/en-US/docs/Web/API/Document.evaluate">evaluate</a> 函数共有五个参数:</p>
-
-<ul>
- <li>
- <p><code>xpathExpression</code>:包含要评估的 XPath 表达式的字符串.</p>
- </li>
- <li>
- <p><code>contextNode</code>:应评估 <code>xpathExpression</code> 的文档中的节点,包括其任何和所有子节点。document 节点是最常用的。</p>
- </li>
- <li>
- <p><code>namespaceResolver</code>:将传递包含在 <code>xpathExpression</code> 中的任何命名空间前缀的函数,它返回一个表示与该前缀关联的命名空间 URI 的字符串。这使得能够在 XPath 表达式中使用的前缀和文档中使用的可能不同的前缀之间进行转换。该转换函数可以是:</p>
-
- <ul>
- <li>
- <p>使用 <a href="https://developer.mozilla.org/en-US/docs/Using_XPath#Node-specific_evaluator_function"><code>XPathEvaluator</code></a> 对象的 <a href="https://developer.mozilla.org/en-US/docs/Web/API/Document.createNSResolver"><code>createNSResolver</code></a> 方法<a href="https://developer.mozilla.org/en-US/docs/Introduction_to_using_XPath_in_JavaScript#Implementing_a_Default_Namespace_Resolver">创建</a>。</p>
- </li>
- <li>
- <p><code>null</code>。其可以用于 HTML 文档或者当不使用命名空间前缀时。注意,如果 <code>xpathExpression</code> 包含命名空间前缀,这将导致一个带有 <code>NAMESPACE_ERR</code> 的 <code>DOMException</code> 抛出。</p>
- </li>
- <li>
- <p>用户定义的函数。有关详细信息,请参阅附录中的 <a href="https://developer.mozilla.org/en-US/docs/Introduction_to_using_XPath_in_JavaScript#Implementing_a_User_Defined_Namespace_Resolver">使用一个用户定义的命名空间解析器</a> 部分。</p>
- </li>
- </ul>
- </li>
- <li>
- <p><code>resultType</code>:指定作为评估结果返回的所需结果类型的<a href="https://developer.mozilla.org/en-US/docs/Introduction_to_using_XPath_in_JavaScript#XPathResult_Defined_Constants">常数</a>。最常传递的常量是 <code>XPathResult.ANY_TYPE</code>,它将返回 XPath 表达式的结果作为最自然的类型。附录中有一个部分,其中包含<a href="https://developer.mozilla.org/en-US/docs/Introduction_to_using_XPath_in_JavaScript#XPathResult_Defined_Constants">可用常数</a>的完整列表。它们在下面“<a href="https://developer.mozilla.org/en-US/docs/Introduction_to_using_XPath_in_JavaScript#Specifying_the_Return_Type">指定返回类型</a>”部分中进行解释。</p>
- </li>
- <li>
- <p><code>result</code>:如果指定了现有的 <code>XPathResult</code> 对象,它将被重用以返回结果。指定 <code>null</code> 将创建一个新的 <code>XPathResult</code> 对象。</p>
- </li>
-</ul>
-
-<h3 id="Return_Value" name="Return_Value">返回值</h3>
-
-<p>返回 <code>xpathResult</code>,它是 <code>resultType</code> 参数中<a href="https://developer.mozilla.org/en-US/docs/Introduction_to_using_XPath_in_JavaScript#Specifying_the_Return_Type">指定的</a>类型的 <code>XPathResult</code> 对象。<code>XPathResult</code> 在<a href="http://mxr.mozilla.org/mozilla-central/source/dom/interfaces/xpath/nsIDOMXPathResult.idl">这里</a>定义。</p>
-
-<h3 id="实现默认的命名空间解析器">实现默认的命名空间解析器</h3>
-
-<p>我们使用 document 对象的 <code>createNSResolver</code> 方法创建一个命名空间解析器。</p>
-
-<pre class="brush: js">var nsResolver = document.createNSResolver( contextNode.ownerDocument == null ? contextNode.documentElement : contextNode.ownerDocument.documentElement );
-</pre>
-
-<p><span class="comment">Or alternatively by using the &lt;code&gt;createNSResolver&lt;/code&gt; method of a &lt;code&gt;XPathEvaluator&lt;/code&gt; object. &lt;pre&gt; var xpEvaluator = new XPathEvaluator(); var nsResolver = xpEvaluator.createNSResolver( contextNode.ownerDocument == null ? contextNode.documentElement : contextNode.ownerDocument.documentElement ); &lt;/pre&gt;</span></p>
-
-<p>然后传递 <code>document.evaluate</code>,将 <code>nsResolver</code> 变量作为 <code>namespaceResolver</code> 参数。</p>
-
-<p>注意:XPath 定义不带前缀的 QNames,以仅匹配 null 命名空间中的元素。XPath 没有办法选择应用于常规元素引用的默认命名空间(例如,<code>p[@id='_myid']</code> 对应于 <code>xmlns='http://www.w3.org/1999/xhtml'</code>)。要匹配非命名空间中的默认元素,您必须使用如 <code>[namespace-uri()='http://www.w3.org/1999/xhtml' and name()='p' and @id='_id']</code>(<a href="https://developer.mozilla.org/en-US/docs/Introduction_to_using_XPath_in_JavaScript#Using_XPath_functions_to_reference_elements_with_a_default_namespace">这种方法</a>适用于命名空间未知的动态 XPath),或者使用前缀名测试,并创建一个命名空间解析器将前缀映射到命名空间。如果你想采取后一种方法,阅读更多关于<a href="https://developer.mozilla.org/en-US/docs/Introduction_to_using_XPath_in_JavaScript#Implementing_a_User_Defined_Namespace_Resolver">如何创建一个用户定义的命名空间解析器</a>。</p>
-
-<h3 id="注意">注意</h3>
-
-<p>适应任何 DOM 节点以解析命名空间,以便可以相对于文档中出现的节点的上下文轻松地评估 XPath 表达式。此适配器的工作方式类似于 DOM 级别 3 方法 <code>lookupNamespaceURI</code> 在解析 <code>namespaceuRI</code> 时节点的层次结构中的可用的当前信息的节点。也正确解析了隐式 <code>xml</code> 前缀。</p>
-
-<h3 id="Specifying_the_Return_Type" name="Specifying_the_Return_Type">指定返回类型</h3>
-
-<p><code>document.evaluate</code> 返回的变量 <code>xpathResult</code> 可以由单个节点(<a href="https://developer.mozilla.org/en-US/docs/Introduction_to_using_XPath_in_JavaScript#Simple_Types">简单类型</a>)或节点集合(<a href="https://developer.mozilla.org/en-US/docs/Introduction_to_using_XPath_in_JavaScript#Node-Set_Types">节点集类型</a>)组成。</p>
-
-<h4 id="Simple_Types" name="Simple_Types">简单类型</h4>
-
-<p>当 <code>resultType</code> 中的所需结果类型指定为:</p>
-
-<ul>
- <li><code>NUMBER_TYPE</code> - a double</li>
- <li><code>STRING_TYPE</code> - a string</li>
- <li><code>BOOLEAN_TYPE</code> - a boolean</li>
-</ul>
-
-<p>我们通过分别访问 <code>XPathResult</code> 对象的以下属性来获取表达式的返回值。</p>
-
-<ul>
- <li><code>numberValue</code></li>
- <li><code>stringValue</code></li>
- <li><code>booleanValue</code></li>
-</ul>
-
-<h5 id="Example" name="Example">示例</h5>
-
-<p>以下使用 XPath 表达式 <a href="https://developer.mozilla.org/en-US/docs/XPath/Functions/count"><code>count(//p)</code></a> 来获取 HTML 文档中的 <code>&lt;p&gt;</code> 元素数:</p>
-
-<pre class="brush: js">var paragraphCount = document.evaluate( 'count(//p)', document, null, XPathResult.ANY_TYPE, null );
-
-alert( 'This document contains ' + paragraphCount.numberValue + ' paragraph elements' );
-</pre>
-
-<p>虽然 JavaScript 允许我们将数字转换为一个字符串进行显示,但 XPath 接口不会自动转换数字结果,如果 <code>stringValue</code> 属性被请求,所以下面的代码将<strong>不</strong>工作:</p>
-
-<pre class="brush: js">var paragraphCount = document.evaluate('count(//p)', document, null, XPathResult.ANY_TYPE, null );
-
-alert( 'This document contains ' + paragraphCount.stringValue + ' paragraph elements' );
-</pre>
-
-<p>相反,它将返回一个带有 <code>NS_DOM_TYPE_ERROR</code> 的异常。</p>
-
-<h4 id="Node-Set_Types" name="Node-Set_Types">节点集类型</h4>
-
-<p><code>XPathResult</code> 对象允许以 3 种主要不同类型返回节点集:</p>
-
-<ul>
- <li><a href="#Iterators">Iterators</a></li>
- <li><a href="#Snapshots">Snapshots</a></li>
- <li><a href="#First_Node">First Nodes</a></li>
-</ul>
-
-<h5 id="Iterators" name="Iterators">Iterators</h5>
-
-<p>当 <code>resultType</code> 参数中的指定结果类型为:</p>
-
-<ul>
- <li><code>UNORDERED_NODE_ITERATOR_TYPE</code></li>
- <li><code>ORDERED_NODE_ITERATOR_TYPE</code></li>
-</ul>
-
-<p>返回的 <code>XPathResult</code> 对象是一个匹配节点的节点集,它将作为迭代器,允许我们使用 <code>XPathResult</code> 的 <code>iterateNext()</code> 方法访问包含的各个节点。</p>
-
-<p>一旦迭代完成所有的匹配节点,<code>iterateNext()</code> 将返回 <code>null</code>。</p>
-
-<p>但请注意,如果在迭代过程中,文档发生突变(文档树被修改),将使迭代无效,并且 <code>XPathResult</code> 的 <code>invalidIteratorState</code> 属性设置为 <code>true</code>,抛出 <code>NS_ERROR_DOM_INVALID_STATE_ERR</code> 异常。</p>
-
-<h6 id="Iterator_Example" name="Iterator_Example">Iterator Example</h6>
-
-<pre class="brush: js">var iterator = document.evaluate('//phoneNumber', documentNode, null, XPathResult.UNORDERED_NODE_ITERATOR_TYPE, null );
-
-try {
- var thisNode = iterator.iterateNext();
-
- while (thisNode) {
- alert( thisNode.textContent );
- thisNode = iterator.iterateNext();
- }
-}
-catch (e) {
- dump( 'Error: Document tree modified during iteration ' + e );
-}
-</pre>
-
-<h5 id="Snapshots" name="Snapshots">Snapshots</h5>
-
-<p>当 <code>resultType</code> 参数中的指定结果类型为:</p>
-
-<ul>
- <li><code>UNORDERED_NODE_SNAPSHOT_TYPE</code></li>
- <li><code>ORDERED_NODE_SNAPSHOT_TYPE</code></li>
-</ul>
-
-<p>返回的 <code>XPathResult</code> 对象是一个匹配节点的静态节点集,这允许我们通过 <code>XPathResult</code> 对象的 <code>snapshotItem(itemNumber)</code> 方法访问每个节点,其中 <code>itemNumber</code> 是要检索的节点的索引。包含的节点总数可以通过 <code>snapshotLength</code> 属性访问。</p>
-
-<p>快照不随文档突变而改变,因此与迭代器不同,快照不会变得无效,但是它可能不对应于当前文档,例如节点可能已被移动,它可能包含不再存在的节点,或新节点可能已添加。</p>
-
-<h6 id="Snapshot_Example" name="Snapshot_Example">Snapshot Example</h6>
-
-<pre class="brush: js">var nodesSnapshot = document.evaluate('//phoneNumber', documentNode, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null );
-
-for ( var i=0 ; i &lt; nodesSnapshot.snapshotLength; i++ )
-{
- dump( nodesSnapshot.snapshotItem(i).textContent );
-}
-</pre>
-
-<h5 id="First_Node" name="First_Node">First Node</h5>
-
-<p>当 <code>resultType</code> 参数中的指定结果类型为:</p>
-
-<ul>
- <li><code>ANY_UNORDERED_NODE_TYPE</code></li>
- <li><code>FIRST_ORDERED_NODE_TYPE</code></li>
-</ul>
-
-<p>返回的 <code>XPathResult</code> 对象只是匹配 XPath 表达式的第一个找到的节点。这可以通过 <code>XPathResult</code> 对象的 <code>singleNodeValue</code> 属性访问。如果节点集为空,这将为 <code>null</code>。</p>
-
-<p>请注意,对于无序子类型,返回的单个节点可能不是文档顺序中的第一个,但是对于有序子类型,保证以文档顺序获取第一个匹配的节点。</p>
-
-<h6 id="First_Node_Example" name="First_Node_Example">First Node Example</h6>
-
-<pre class="brush: js">var firstPhoneNumber = document.evaluate('//phoneNumber', documentNode, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null );
-
-dump( 'The first phone number found is ' + firstPhoneNumber.singleNodeValue.textContent );
-</pre>
-
-<h4 id="ANY_TYPE_常量">ANY_TYPE 常量</h4>
-
-<p>当 <code>resultType</code> 参数中的结果类型指定为 <code>ANY_TYPE</code> 时,返回的 <code>XPathResult</code> 对象将是由表达式求值自然产生的任何类型。</p>
-
-<p>它可以是任何简单类型(<code>NUMBER_TYPE</code>,<code>STRING_TYPE</code>,<code>BOOLEAN_TYPE</code> ),<strong>但</strong>如果返回的结果类型是节点集,那么它将<strong>只</strong>是一个 <code>UNORDERED_NODE_ITERATOR_TYPE</code>。</p>
-
-<p>要在评估后确定类型,我们使用 <code>XPathResult</code> 对象的 <code>resultType</code> 属性。此属性的<a href="https://developer.mozilla.org/en-US/docs/Introduction_to_using_XPath_in_JavaScript#XPathResult_Defined_Constants">常量</a>值在附录中定义。 <span class="comment">None Yet =====Any_Type Example===== &lt;pre&gt; &lt;/pre&gt;</span></p>
-
-<h2 id="Examples" name="Examples">示例</h2>
-
-<h3 id="Within_an_HTML_Document" name="Within_an_HTML_Document">在 HTML 文档中</h3>
-
-<p>以下代码旨在放置在要针对其评估 XPath 表达式的 HTML 文档中内嵌或外链的任何 JavaScript 片段中。</p>
-
-<p>要使用 XPath 提取 HTML 文档中的所有 <code>&lt;h2&gt;</code> 标题元素,<code>xpathExpression</code> 只是 <code>//h2</code>。其中,<code>//</code> 是递归下降运算符,在文档树中的任何位置将元素与 nodeName <code>h2</code> 相匹配。这个的完整代码是: <span class="comment">link to introductory xpath doc</span></p>
-
-<pre class="brush: js">var headings = document.evaluate('//h2', document, null, XPathResult.ANY_TYPE, null );
-</pre>
-
-<p>请注意,由于 HTML 没有命名空间,因此我们为 <code>namespaceResolver</code> 参数传递了 <code>null</code>。</p>
-
-<p>因为希望在整个文档中搜索标题,所以我们使用 document 对象本身作为 <code>contextNode</code>。</p>
-
-<p>此表达式的结果是 <code>XPathResult</code> 对象。如果想知道返回的结果的类型,我们可以评估返回的对象的 <code>resultType</code> 属性。在这种情况下,这将评估为 <code>4</code>,即 <code>UNORDERED_NODE_ITERATOR_TYPE</code>。这是 XPath 表达式的结果是节点集时的默认返回类型。它一次提供对单个节点的访问,并且可能不以特定顺序返回节点。要访问返回的节点,我们使用返回对象的 <code>iterateNext()</code> 方法:</p>
-
-<pre class="brush: js">var thisHeading = headings.iterateNext();
-
-var alertText = 'Level 2 headings in this document are:\n'
-
-while (thisHeading) {
- alertText += thisHeading.textContent + '\n';
- thisHeading = headings.iterateNext();
-}
-</pre>
-
-<p>一旦迭代到一个节点,我们就可以访问该节点上的所有标准 DOM 接口。在遍历从表达式返回的所有 <code>h2</code> 元素之后,对 <code>iterateNext()</code> 的任何进一步调用都将返回 <code>null</code> 。</p>
-
-<h3 id="针对扩展中的_XML_文档进行评估">针对扩展中的 XML 文档进行评估</h3>
-
-<p>以下使用位于 <a href="">chrome://yourextension/content/peopleDB.xml</a> 的 XML 文档作为示例。</p>
-
-<pre class="brush: xml">&lt;?xml version="1.0"?&gt;
-&lt;people xmlns:xul = "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" &gt;
- &lt;person&gt;
- &lt;name first="george" last="bush" /&gt;
- &lt;address street="1600 pennsylvania avenue" city="washington" country="usa"/&gt;
- &lt;phoneNumber&gt;202-456-1111&lt;/phoneNumber&gt;
- &lt;/person&gt;
- &lt;person&gt;
- &lt;name first="tony" last="blair" /&gt;
- &lt;address street="10 downing street" city="london" country="uk"/&gt;
- &lt;phoneNumber&gt;020 7925 0918&lt;/phoneNumber&gt;
- &lt;/person&gt;
-&lt;/people&gt;
-</pre>
-
-<p>为了使 XML 文档的内容在扩展中可用,我们创建一个 <a href="https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest"><code>XMLHttpRequest</code></a> 对象以同步加载文档,变量 <code>xmlDoc</code> 将包含该文档作为 <a href="https://developer.mozilla.org/en-US/docs/Web/API/XMLDocument"><code>XMLDocument</code></a> 对象,我们可以使用 <code>evaluate</code> 方法。</p>
-
-<p>JavaScript用于扩展 xul/js 文档。</p>
-
-<pre class="brush: js">var req = new XMLHttpRequest();
-
-req.open("GET", "chrome://yourextension/content/peopleDB.xml", false);
-req.send(null);
-
-var xmlDoc = req.responseXML;
-
-var nsResolver = xmlDoc.createNSResolver( xmlDoc.ownerDocument == null ? xmlDoc.documentElement : xmlDoc.ownerDocument.documentElement);
-
-var personIterator = xmlDoc.evaluate('//person', xmlDoc, nsResolver, XPathResult.ANY_TYPE, null );
-</pre>
-
-<h3 id="注意_2">注意</h3>
-
-<p>当未定义 XPathResult 对象时,可以使用 <code>Components.interfaces.nsIDOMXPathResult.ANY_TYPE</code> (<code>CI.nsIDOMXPathResult</code>) 在特权代码中检索常量。类似地,可以使用以下创建 XPathEvaluator:</p>
-
-<pre class="brush: js">Components.classes["@mozilla.org/dom/xpath-evaluator;1"].createInstance(Components.interfaces.nsIDOMXPathEvaluator)</pre>
-
-<h2 id="附录">附录</h2>
-
-<h4 id="实现用户定义的命名空间解析器">实现用户定义的命名空间解析器</h4>
-
-<p>这只是一个例子。此函数将需要从 <code>xpathExpression</code> 获取命名空间前缀,并返回与该前缀对应的 URI。例如,表达式:</p>
-
-<pre>'//xhtml:td/mathml:math'
-</pre>
-
-<p>将选择作为 (X)HTML 表数据单元元素的子项的所有 <a href="https://developer.mozilla.org/en-US/docs/Web/API/MathML">MathML</a> 表达式。</p>
-
-<p>为了将使用命名空间 URI <code>http://www.w3.org/1998/Math/MathML</code> 的 <code>mathml:</code> 前缀和使用 URI <code>http://www.w3.org/1999/xhtml</code> 的 <code>xhtml:</code> 关联,我们提供了一个函数:</p>
-
-<pre class="brush: js">function nsResolver(prefix) {
- var ns = {
- 'xhtml' : 'http://www.w3.org/1999/xhtml',
- 'mathml': 'http://www.w3.org/1998/Math/MathML'
- };
- return ns[prefix] || null;
-}
-</pre>
-
-<p>我们对 <code>document.evaluate</code> 的调用将如下所示:</p>
-
-<pre class="brush: js">document.evaluate( '//xhtml:td/mathml:math', document, nsResolver, XPathResult.ANY_TYPE, null );
-</pre>
-
-<h4 id="为_XML_文档实现默认命名空间">为 XML 文档实现默认命名空间</h4>
-
-<p>如前面<a href="https://developer.mozilla.org/en-US/docs/Introduction_to_using_XPath_in_JavaScript#Implementing_a_Default_Namespace_Resolver">实现默认命名空间解析器</a>中所述,默认解析器不处理 XML 文档的默认命名空间。 例如使用本文档:</p>
-
-<pre class="brush: xml">&lt;?xml version="1.0" encoding="UTF-8"?&gt;
-&lt;feed xmlns="http://www.w3.org/2005/Atom"&gt;
- &lt;entry /&gt;
- &lt;entry /&gt;
- &lt;entry /&gt;
-&lt;/feed&gt;
-</pre>
-
-<p><code>doc.evaluate('//entry', doc, nsResolver, XPathResult.ANY_TYPE, null)</code> 将返回一个空集,其中 <code>nsResolver</code> 是 <code>createNSResolver</code> 返回的解析器。传递一个 <code>null</code> 解析器再好不过了。</p>
-
-<p>一种可能的解决方法是创建一个自定义解析器,返回正确的默认命名空间(本例中为 Atom 命名空间)。请注意,您仍然必须在 XPath 表达式中使用一些命名空间前缀,以便解析器函数能够将其更改为所需的命名空间。例如:</p>
-
-<pre class="brush: js">function resolver() {
- return 'http://www.w3.org/2005/Atom';
-}
-doc.evaluate('//myns:entry', doc, resolver, XPathResult.ANY_TYPE, null)
-</pre>
-
-<p>请注意,如果文档使用多个命名空间,则需要更复杂的解析器。</p>
-
-<p>下一节将介绍一种可能更好的方法(并允许不提前知道命名空间)。</p>
-
-<h4 id="使用XPath函数引用具有默认命名空间的元素">使用XPath函数引用具有默认命名空间的元素</h4>
-
-<p>另一种匹配非空命名空间中的默认的元素的方法(以及对于动态 XPath 表达式很有效,其中命名空间可能未知),涉及使用如 <code>[namespace-uri()='http://www.w3.org/1999/xhtml' and name()='p' and @id='_myid']</code>。这避免了 XPath 查询无法检测到定期标记的元素上的默认命名空间的问题。</p>
-
-<h4 id="获取特定的命名空间元素和属性,而不考虑前缀">获取特定的命名空间元素和属性,而不考虑前缀</h4>
-
-<p>如果希望在命名空间(像预期的那样)中提供灵活性,当发现命名空间元素或属性时不一定需要使用特定的前缀,必须使用特殊技术。</p>
-
-<p>虽然可以修改上述部分中的方法来测试命名空间元素,而不管选择的前缀(使用 <a href="https://developer.mozilla.org/en-US/docs/XPath/Functions/local-name"><code>local-name()</code></a> 结合 <a href="https://developer.mozilla.org/en-US/docs/XPath/Functions/namespace-uri"><code>namespace-uri()</code></a> 而不是 <a href="https://developer.mozilla.org/en-US/docs/XPath/Functions/name"><code>name()</code></a>),但是会发生更具挑战性的情况,如果希望在谓词中获取具有特定命名空间属性的元素(假设在 XPath 1.0 中没有与实现无关的变量)。</p>
-
-<p>例如,可能尝试(不正确地)使用 namespaced 属性获取元素,如下所示: <code>var xpathlink = someElements[local-name(@*)="href" and namespace-uri(@*)='http://www.w3.org/1999/xlink'];</code></p>
-
-<p>这可能会无意中抓取一些元素,如果它的一个属性存在,本地名称为 <code>href</code>,但它是一个不同的属性,有目标(XLink)命名空间(而不是 <code>@href</code>)。</p>
-
-<p>为了使用 XLink <code>@href</code> 属性(而不仅限于命名空间解析器中的预定义前缀)精确地抓取元素,可以按如下方式获取它们:</p>
-
-<pre class="brush: js">var xpathEls = 'someElements[@*[local-name() = "href" and namespace-uri() = "http://www.w3.org/1999/xlink"]]'; // Grabs elements with any single attribute that has both the local name 'href' and the XLink namespace
-var thislevel = xml.evaluate(xpathEls, xml, null, XPathResult.ANY_TYPE, null);
-var thisitemEl = thislevel.iterateNext();
-</pre>
-
-<h4 id="XPathResult_定义的常量">XPathResult 定义的常量</h4>
-
-<table class="standard-table">
- <thead>
- <tr>
- <td class="header">结果类型定义的常数</td>
- <td class="header">值</td>
- <td class="header">描述</td>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>ANY_TYPE</td>
- <td>0</td>
- <td>包含任何类型的结果集,从表达式的评估中自然地产生。注意,如果结果是节点集,则 UNORDERED_NODE_ITERATOR_TYPE 始终是结果类型。</td>
- </tr>
- <tr>
- <td>NUMBER_TYPE</td>
- <td>1</td>
- <td>包含单个数字的结果。这非常有用,例如,在 XPath 表达式中使用 <code>count()</code> 函数。</td>
- </tr>
- <tr>
- <td>STRING_TYPE</td>
- <td>2</td>
- <td>包含单个字符串的结果。</td>
- </tr>
- <tr>
- <td>BOOLEAN_TYPE</td>
- <td>3</td>
- <td>包含单个布尔值的结果。这非常有用,例如,在 XPath 表达式中使用 <code>not()</code> 函数。</td>
- </tr>
- <tr>
- <td>UNORDERED_NODE_ITERATOR_TYPE</td>
- <td>4</td>
- <td>包含与表达式匹配的所有节点的结果节点集。节点可能不一定与它们在文档中出现的顺序相同。</td>
- </tr>
- <tr>
- <td>ORDERED_NODE_ITERATOR_TYPE</td>
- <td>5</td>
- <td>包含与表达式匹配的所有节点的结果节点集。结果集中的节点与文档中显示的节点顺序相同。</td>
- </tr>
- <tr>
- <td>UNORDERED_NODE_SNAPSHOT_TYPE</td>
- <td>6</td>
- <td>包含与表达式匹配的所有节点的快照的结果节点集。节点可能不一定与它们在文档中出现的顺序相同。</td>
- </tr>
- <tr>
- <td>ORDERED_NODE_SNAPSHOT_TYPE</td>
- <td>7</td>
- <td>包含与表达式匹配的所有节点的快照的结果节点集。结果集中的节点与文档中显示的节点顺序相同。</td>
- </tr>
- <tr>
- <td>ANY_UNORDERED_NODE_TYPE</td>
- <td>8</td>
- <td>包含与表达式匹配的任何单个节点的结果节点集。该节点不一定是文档中与表达式匹配的第一个节点。</td>
- </tr>
- <tr>
- <td>FIRST_ORDERED_NODE_TYPE</td>
- <td>9</td>
- <td>包含文档中与表达式匹配的第一个节点的结果节点集。</td>
- </tr>
- </tbody>
-</table>
-
-<h2 id="See_also" name="See_also">参见</h2>
-
-<ul>
- <li><a href="/zh-CN/Using_XPath" title="zh-CN/Using_XPath">Using XPath</a></li>
-</ul>
-
-<div class="originaldocinfo">
-<h2 id="Original_Document_Information" name="Original_Document_Information">Original Document Information</h2>
-
-<ul>
- <li>Based Upon Original Document <a class="external" href="http://www-xray.ast.cam.ac.uk/~jgraham/mozilla/xpath-tutorial.html">Mozilla XPath Tutorial</a></li>
- <li>Original Source Author: James Graham.</li>
- <li>Other Contributors: James Thompson.</li>
- <li>Last Updated Date: 2006-3-25.</li>
-</ul>
-</div>
-
-<p> </p>
diff --git a/files/zh-cn/web/javascript/javascript(起步)/index.html b/files/zh-cn/web/javascript/javascript(起步)/index.html
deleted file mode 100644
index b9cd157ec1..0000000000
--- a/files/zh-cn/web/javascript/javascript(起步)/index.html
+++ /dev/null
@@ -1,292 +0,0 @@
----
-title: javascript(起步)
-slug: Web/JavaScript/javascript(起步)
-tags:
- - bug-840092
----
-<h2 id="Why_JavaScript.3F" name="Why_JavaScript.3F">JavaScript是什么?</h2>
-
-<p>作为一门计算机语言,JavaScript本身强大、复杂,且难于理解。但是,你可以用它来开发一系列的应用程序,它有巨大的潜力来改变当前的互联网现状。下面这个应用程序就是一个很好的例子:<a class="external" href="http://local.google.com/">Google Maps</a>。</p>
-
-<p>JavaScript(通称为ECMAScript)最大的优势在于,它基于浏览器,但是通过浏览器的支持可以在不同平台上生产出相同结果。 本文举出的例子是 Google Maps,它几乎可以无差别的运行在 Linux、Windows和Mac OS系统中。 伴随大量JavaScript类库的出现,你现在可以用它很轻易的实现文档导航、DOM元素选择、创建动画、处理事件和开发AJAX应用。同其他因各种利益目的而推动的技术不同,JavaScript是一种真正免费并且被广泛采用的跨平台编程语言。</p>
-
-<h2 id="What_you_should_already_know" name="What_you_should_already_know">你应该知道</h2>
-
-<p>JavaScript是一种非常容易入门的编程语言。你只需要一个文本编辑器和web浏览器就可以开始进行学习。 </p>
-
-<p>在使用 JavaScript进行开发的过程中,可能还会涉及很多其他技术,这不在本文讨论的范围之内。 所以,不要期望在学习的第一天就能开发出一个类似 Google maps 这样的应用程序。</p>
-
-<h2 id="Getting_Started" name="Getting_Started">起步</h2>
-
-<p>JavaScript的起步非常简单。你不需要进行复杂的程序安装,不需要去了解如何使用shell、打包器或编译器。它是通过浏览器来展示的,你所需要做的全部事情就是把你的代码保存为文本文件,然后再浏览器中打开。就这么简单!</p>
-
-<p>JavaScript非常适合作为入门级的编程语言。它直观形象,并且教会学生认识到这是一个在实际生活中非常有用的工具。 对比C、C++和 Java等语言会发现有很大不同,它们只对那些专业的软件开发者来说是有价值的。</p>
-
-<h2 id="Browser_Compatibility_Issues" name="Browser_Compatibility_Issues">浏览器兼容问题</h2>
-
-<p>不同浏览器在功能实现上有很多不同之处。Mozilla, Microsoft IE, Apple Safari 和 Opera 在行为上有很多差异。 我们计划在此记录这些差异 <a href="/en-US/docs/JavaScript/Compatibility" title="en-US/docs/JavaScript/Compatibility">documenting these variations</a>。你可以使用各种跨平台的JavaScript API接口来解决这些兼容性问题。这些API隐藏了浏览器之间的各种差异,提供了通用性的功能函数来方便调用。</p>
-
-<h2 id="How_to_try_the_Examples" name="How_to_try_the_Examples">如何运行示例</h2>
-
-<p>下面的例子都有相同的代码。要执行它们有多种方法,如果你有自己的个人站点,你还可以在站点上把这些例子保存为新的页面。</p>
-
-<p>如果你没有自己的个人站点,你可以在电脑上把这些例子保存下来,并使用你自己的浏览器来执行它们。这就是JavaScript简单的地方,也是它适合做入门语言的原因。你不需要编译器或者开发环境,你只需要一个浏览器就可以开始起步了。</p>
-
-<h2 id="Example:_Catching_a_mouse_click" name="Example:_Catching_a_mouse_click">举例:捕获一个鼠标单击事件</h2>
-
-<p>事件处理 (事件类型、事件注册、冒泡等) 的细节是一个非常宽泛的话题,这个简单的例子并不能说明所有的问题。然而,如果我们不涉及JavaScript事件系统,我们就不能很好展示一个鼠标点击捕获的范例。你只需要记得例子里展示的只是JavaScrpt事件系统里非常表象的一些东西,如果你想要了解更多的内部细节,那你可以去查找更详细的相关资料。</p>
-
-<p>鼠标事件只是浏览器同用户交互过程中所产生的事件系统里的一个子集。下面列举了一些用户在交互过程中产生的具体的鼠标事件:</p>
-
-<ul>
- <li>Click - 用户点击鼠标时触发</li>
- <li>DblClick - 用户双击鼠标时触发</li>
- <li>MouseDown - 用户按下鼠标键触发 (click事件前半部分)</li>
- <li>MouseUp - 用户释放鼠标键触发 (click事件后半部分)</li>
- <li>MouseOut - 当鼠标指针离开对象物理边界时触发</li>
- <li>MouseOver - 当鼠标指针进入对象物理边界时触发</li>
- <li>MouseMove -当鼠标指针在对象物理边界内移动时触发</li>
- <li>ContextMenu - 用户点击鼠标右键时触发</li>
-</ul>
-
-<p>捕获事件并注册处理函数最简单的办法就是使用HTML,你可以把事件当成元素属性来使用。例子:</p>
-
-<pre class="brush:js"> &lt;span onclick="alert('Hello World!');"&gt;Click Here&lt;/span&gt;</pre>
-
-<p>要执行的JavaScript代码既可以作为属性值写在行内位置,也可以写成函数并用&lt;script&gt;包裹后放到HTML页面中:</p>
-
-<pre class="brush:js">&lt;script type="text/javascript"&gt;
- function onclick_callback () {
- alert ("Hello, World!");
- }
-&lt;/script&gt;
-&lt;span onclick="onclick_callback();"&gt;Click Here&lt;/span&gt;</pre>
-
-<p>另外,事件对象是可以被捕获和引用,开发者可以通过访问事件对象来获取更多信息,如捕获事件的对象、事件类型、哪个鼠标按键被点击等。我们还用上面的例子来说明:</p>
-
-<pre class="brush:js">&lt;script type="text/javascript"&gt;
- function onclick_callback(event) {
- var eType = event.type;
- /* the following is for compatability */
- /* Moz populates the target property of the event object */
- /* IE populates the srcElement property */
- var eTarget = event.target || event.srcElement;
-
- alert( "Captured Event (type=" + eType + ", target=" + eTarget );
- }
-&lt;/script&gt;
-&lt;span onclick="onclick_callback(event);"&gt;Click Here&lt;/span&gt;</pre>
-
-<p>对于事件的注册和接收还用注意一些的是,你可以给任何使用JavaScript生成的HTMLElement对象做相同的操作。下面的例子展示了一个这样的过程:生成span对象,添加到页面中的body,给span注册mouse-over、mouse-out、mouse-down和 mouse-up事件。</p>
-
-<pre class="brush:js">&lt;script type="text/javascript"&gt;
- function mouseevent_callback(event) {
- /* The following is for compatability */
- /* IE does NOT by default pass the event object */
- /* obtain a ref to the event if one was not given */
- if (!event) event = window.event;
-
- /* obtain event type and target as earlier */
- var eType = event.type;
- var eTarget = event.target || event.srcElement;
- alert(eType +' event on element with id: '+ eTarget.id);
- }
-
- function onload () {
- /* obtain a ref to the 'body' element of the page */
- var body = document.body;
- /* create a span element to be clicked */
- var span = document.createElement('span');
- span.id = 'ExampleSpan';
- span.appendChild(document.createTextNode ('Click Here!'));
-
- /* register the span object to receive specific mouse events */
- span.onmousedown = mouseevent_callback;
- span.onmouseup = mouseevent_callback;
- span.onmouseover = mouseevent_callback;
- span.onmouseout = mouseevent_callback;
-
- /* display the span on the page */
- body.appendChild(span);
-}
-&lt;/script&gt;</pre>
-
-<p>{{ draft() }}</p>
-
-<h2 id="Example:_Catching_a_keyboard_event" name="Example:_Catching_a_keyboard_event">举例:捕获一个键盘事件</h2>
-
-<p>同上面的例子类似,键盘事件捕获也依赖于JavaScript事件系统。当键盘上的键被使用的时候触发键盘事件。</p>
-
-<p>下面的列表展示了一些具体的键盘事件,同鼠标事件相比是很少的:</p>
-
-<ul>
- <li>KeyPress - 按键被按下并且释放后触发</li>
- <li>KeyDown - 按键被按下但是还没有被释放时触发</li>
- <li>KeyUp - 按键被释放时触发</li>
- <li>TextInput ( Webkit浏览器下可以使用,并且只在输入时有效) - 通过粘贴、语音或者键盘输入文本时触发。本文不介绍该事件。</li>
-</ul>
-
-<p>在一个 <a class="new " href="/en-US/docs/DOM/event/keypress" rel="internal">keypress</a> 事件中,键值的Unicode编码会存储到属性keyCode或者<code><a href="/en-US/docs/DOM/event.charCode" rel="internal">charCode</a></code> 中,但是两者不会同时存在。按键会生成一个字母 (如 'a'),这时会把字母的编码存储到<code>charCode</code> 中,注意这里是区分大小写的( <code>charCode</code> 会判断shift键是否同时被按下)。其他情况下,编码会存储到 <code>keyCode中。</code></p>
-
-<p>捕获键盘事件最简单的方法仍然是在HTML中注册键盘事件的处理函数,在元素属性中处理相关事件。 举例:</p>
-
-<pre class="brush:js"> &lt;input type="text" onkeypress="alert ('Hello World!');"&gt;&lt;/input&gt;
-</pre>
-
-<p>同鼠标事件类似,你的 JavaScript代码既可以写到属性值内,也可以作为函数用&lt;script包裹后写到HTML页面中:</p>
-
-<pre class="brush:js">&lt;script type="text/javascript"&gt;
- function onkeypress_callback () {
- alert ("Hello, World!");
- }
-&lt;/script&gt;
-
-&lt;input onkeypress="onkeypress_callback();"&gt;&lt;/input&gt;
-</pre>
-
-<p>捕获事件和引用事件源(一个真实的键被按下时) 的方法同鼠标事件类似:</p>
-
-<pre class="brush:js">&lt;script type="text/javascript"&gt;
- function onkeypress_callback(evt) {
- var eType = evt.type; // Will return "keypress" as the event type
- var eCode = 'keyCode is ' + evt.keyCode;
- var eChar = 'charCode is ' + evt.charCode;
-
- alert ("Captured Event (type=" + eType + ", key Unicode value=" + eCode + ", ASCII value=" + eChar + ")");
- }
-&lt;/script&gt;
-&lt;input onkeypress="onkeypress_callback(event);"&gt;&lt;/input&gt;</pre>
-
-<p>要捕获页面上所有的键盘事件,可以在document上注册和绑定相关的处理函数:</p>
-
-<pre class="brush:js">&lt;script type="text/javascript"&gt;
- document.onkeypress = key_event;
- document.onkeydown = key_event;
- document.onkeyup = key_event;
-
- function key_event(evt) {
- var eType = evt.type;
- var eCode = "ASCII code is " + evt.keyCode;
- var eChar = 'charCode is ' + evt.charCode;
-
- alert ("Captured Event (type=" + eType + ", key Unicode value=" + eCode + ", ASCII value=" + eChar + ")");
- }
-&lt;/script&gt;</pre>
-
-<p>下面是一个完整的键盘事件处理过程:</p>
-
-<pre class="brush:js">&lt;!DOCTYPE html&gt;
-&lt;html&gt;
-&lt;head&gt;
- &lt;script&gt;
- var metaChar = false;
- var exampleKey = 16;
- function keyEvent(event) {
- var key = event.keyCode || event.which;
- var keychar = String.fromCharCode(key);
- if (key==exampleKey) { metaChar = true; }
- if (key!=exampleKey) {
- if (metaChar) {
- alert("Combination of metaKey + " + keychar)
- metaChar = false;
- } else { alert("Key pressed " + key); }
- }
- }
- function metaKeyUp (event) {
- var key = event.keyCode || event.which;
- if (key==exampleKey) { metaChar = false; }
- }
- &lt;/script&gt;
-&lt;/head&gt;
-&lt;body onkeydown="keyEvent(event)" onkeyup="metaKeyUp(event)"&gt;
-&lt;/body&gt;
-&lt;/html&gt;</pre>
-
-<h3 id="浏览器_bugs_和_quirks">浏览器 bugs 和 quirks</h3>
-
-<p>键盘事件中有两个可用的属性<code style="font-style: normal; line-height: 1.5;">keyCode</code><span style="line-height: 1.5;"> 和 </span><code style="font-style: normal; line-height: 1.5;">charCode。通常情况下,</code><code style="font-style: normal; line-height: 1.5;">keyCode</code><span style="line-height: 1.5;"> 指向的是用户按下的键盘上的那个键,而</span><code style="font-style: normal; line-height: 1.5;">charCode</code><span style="line-height: 1.5;"> 存储的是相应键的 ASCII 码值。这两个值不一定相同,如, 小写 'a' 和 大写 'A' 拥有相同的 </span><code style="font-style: normal; line-height: 1.5;">keyCode,因为用户按下的是相同的按键,但是他们的</code><code style="font-style: normal; line-height: 1.5;">charCode不同,因为两个字母的码值不同。</code><span style="line-height: 1.5;"> </span></p>
-
-<p>不同浏览器对于charCode的处理方式并不统一。例如Internet Explorer 和Opera 并不支持 <code>charCode,他们把字母信息写到了</code><code>keyCode</code>中,而且只在 onkeypress下有效。在 Onkeydown 和Onkeyup的事件中, <code>keyCode</code> 存储的仍然是按键的相关信息。 Firefox 则使用 "which", 来区分字母。.</p>
-
-<p>可以到 Mozilla 文档 <a href="/en-US/docs/DOM/Event/UIEvent/KeyboardEvent" title="https://developer.mozilla.org/en-US/docs/DOM/Event/UIEvent/KeyEvent">Keyboard Events</a> 去了解关于键盘事件的更多信息。.</p>
-
-<p>{{ draft() }}</p>
-
-<h2 id="Example:_Dragging_images_around" name="Example:_Dragging_images_around">举例:拖曳图片</h2>
-
-<p>下面的例子展示了firefox浏览器下如何实现拖动图片:</p>
-
-<pre class="brush:js">&lt;!DOCTYPE html&gt;
-&lt;html&gt;
-&lt;head&gt;
-&lt;style type='text/css'&gt;
-img { position: absolute; }
-&lt;/style&gt;
-
-&lt;script type='text/javascript'&gt;
-window.onload = function() {
-
- movMeId=document.getElementById("ImgMov");
- movMeId.style.top = "80px";
- movMeId.style.left = "80px";
-  movMeId.style.position = "absolute";
-
- document.onmousedown = coordinates;
- document.onmouseup=mouseup;
-
- function coordinates(e) {
- if (e == null) { e = window.event;}
- var sender = (typeof( window.event ) != "undefined" ) ? e.srcElement : e.target;
-
- if (sender.id=="ImgMov") {
- mouseover = true;
- pleft = parseInt(movMeId.style.left);
- ptop = parseInt(movMeId.style.top);
- xcoor = e.clientX;
- ycoor = e.clientY;
- document.onmousemove=moveImage;
- return false;
- } else {
- return false;
- }
- }
-
- function moveImage(e) {
- if (e == null) { e = window.event; }
- movMeId.style.left = pleft+e.clientX-xcoor+"px";
- movMeId.style.top = ptop+e.clientY-ycoor+"px";
- return false;
- }
-
- function mouseup(e) {
- document.onmousemove = null;
- }
-}
-&lt;/script&gt;
-&lt;/head&gt;
-
-&lt;body&gt;
- &lt;img id="ImgMov" src="http://mozcom-cdn.mozilla.net/img/covehead/about/logo/download/logo-only.png" width="64" height="64"/&gt;
- &lt;p&gt;Drag and drop around the image in this page.&lt;/p&gt;
-&lt;/body&gt;
-
-&lt;/html&gt;</pre>
-
-<h2 id="Example:_Resizing_things" name="Example:_Resizing_things">举例:改变大小</h2>
-
-<div>{{todo("Need Content. Or, remove headline")}}</div>
-
-<h3 id="Example:_Drawing_Lines" name="Example:_Drawing_Lines">举例:绘制直线</h3>
-
-<div class="originaldocinfo">
-<h2 id="Original_Document_Information" name="Original_Document_Information">附加文档信息</h2>
-
-<ul>
- <li>作者: <a class="external" href="http://linuxmachines.com/">Jeff Carr</a></li>
- <li>Here is a attempt at a new <a href="/en-US/docs/javascript_new_testpage" title="en-US/docs/javascript_new_testpage">JavaScript new testpage</a></li>
- <li>最后修改: July 14 2005</li>
- <li>版权信息: © 2005 by individual contributors; content available under the <a class="external" href="http://www.mozilla.org/foundation/licensing/website-content.html">Creative Commons license</a></li>
-</ul>
-</div>
-
-<p> </p>
diff --git a/files/zh-cn/web/javascript/reference/classes/class_elements/index.html b/files/zh-cn/web/javascript/reference/classes/public_class_fields/index.html
index fb8c618a9b..fb8c618a9b 100644
--- a/files/zh-cn/web/javascript/reference/classes/class_elements/index.html
+++ b/files/zh-cn/web/javascript/reference/classes/public_class_fields/index.html
diff --git a/files/zh-cn/web/javascript/reference/errors/不能添加属性/index.html b/files/zh-cn/web/javascript/reference/errors/cant_assign_to_property/index.html
index cceeb330c4..cceeb330c4 100644
--- a/files/zh-cn/web/javascript/reference/errors/不能添加属性/index.html
+++ b/files/zh-cn/web/javascript/reference/errors/cant_assign_to_property/index.html
diff --git a/files/zh-cn/web/javascript/reference/global_objects/array/prototype/index.html b/files/zh-cn/web/javascript/reference/global_objects/array/prototype/index.html
deleted file mode 100644
index 31d65bf734..0000000000
--- a/files/zh-cn/web/javascript/reference/global_objects/array/prototype/index.html
+++ /dev/null
@@ -1,178 +0,0 @@
----
-title: Array.prototype
-slug: Web/JavaScript/Reference/Global_Objects/Array/prototype
-tags:
- - Array.prototype
-translation_of: Web/JavaScript/Reference/Global_Objects/Array/prototype
----
-<div>{{JSRef}}</div>
-
-<p><strong><code>Array.prototype</code></strong>  属性表示 {{jsxref("Array")}} 构造函数的原型,并允许您向所有Array对象添加新的属性和方法。</p>
-
-<pre class="brush: js">/*
-如果JavaScript本身不提供 first() 方法,
-添加一个返回数组的第一个元素的新方法。
-*/
-
-if(!Array.prototype.first) {
-    Array.prototype.first = function() {
-        console.log(`如果JavaScript本身不提供 first() 方法,
-添加一个返回数组的第一个元素的新方法。`);
-        return this[0];
-    }
-}
-</pre>
-
-<h2 id="Description" name="Description">描述</h2>
-
-<p>{{jsxref("Array")}}实例继承自 <strong>Array.prototype </strong>。与所有构造函数一样,您可以更改构造函数的原型对象,以对所有 {{jsxref("Array")}} 实例进行更改。例如,可以添加新方法和属性以扩展所有Array对象。这用于 {{Glossary("Polyfill", "polyfilling")}}, 例如。</p>
-
-<p>鲜为人知的事实:<code>Array.prototype</code> 本身也是一个 {{jsxref("Array")}}。</p>
-
-<pre class="brush: js">Array.isArray(Array.prototype);
-// true
-</pre>
-
-<p>{{js_property_attributes(0, 0, 0)}}</p>
-
-<h2 id="Properties" name="Properties">属性</h2>
-
-<dl>
- <dt><code>Array.prototype.constructor</code></dt>
- <dd>所有的数组实例都继承了这个属性,它的值就是 {{jsxref("Array")}},表明了所有的数组都是由 {{jsxref("Array")}} 构造出来的。</dd>
- <dt>{{jsxref("Array.prototype.length")}}</dt>
- <dd>上面说了,因为 <code>Array.prototype</code> 也是个数组,所以它也有 <code>length</code> 属性,这个值为 <code>0</code>,因为它是个空数组。</dd>
-</dl>
-
-<h2 id="Methods" name="Methods">方法</h2>
-
-<h3 id="Mutator_methods" name="Mutator_methods">会改变自身的方法</h3>
-
-<p>下面的这些方法会改变调用它们的对象自身的值:</p>
-
-<dl>
- <dt>{{jsxref("Array.prototype.copyWithin()")}} {{experimental_inline}}</dt>
- <dd>在数组内部,将一段元素序列拷贝到另一段元素序列上,覆盖原有的值。</dd>
- <dt>{{jsxref("Array.prototype.fill()")}} {{experimental_inline}}</dt>
- <dd>将数组中指定区间的所有元素的值,都替换成某个固定的值。</dd>
- <dt>{{jsxref("Array.prototype.pop()")}}</dt>
- <dd>删除数组的最后一个元素,并返回这个元素。</dd>
- <dt>{{jsxref("Array.prototype.push()")}}</dt>
- <dd>在数组的末尾增加一个或多个元素,并返回数组的新长度。</dd>
- <dt>{{jsxref("Array.prototype.reverse()")}}</dt>
- <dd>颠倒数组中元素的排列顺序,即原先的第一个变为最后一个,原先的最后一个变为第一个。</dd>
- <dt>{{jsxref("Array.prototype.shift()")}}</dt>
- <dd>删除数组的第一个元素,并返回这个元素。</dd>
- <dt>{{jsxref("Array.prototype.sort()")}}</dt>
- <dd>对数组元素进行排序,并返回当前数组。</dd>
- <dt>{{jsxref("Array.prototype.splice()")}}</dt>
- <dd>在任意的位置给数组添加或删除任意个元素。</dd>
- <dt>{{jsxref("Array.prototype.unshift()")}}</dt>
- <dd>在数组的开头增加一个或多个元素,并返回数组的新长度。</dd>
-</dl>
-
-<h3 id="Accessor_methods" name="Accessor_methods">不会改变自身的方法</h3>
-
-<p>下面的这些方法绝对不会改变调用它们的对象的值,只会返回一个新的数组或者返回一个其它的期望值。</p>
-
-<dl>
- <dt>{{jsxref("Array.prototype.concat()")}}</dt>
- <dd>返回一个由当前数组和其它若干个数组或者若干个非数组值组合而成的新数组。</dd>
- <dt>{{jsxref("Array.prototype.includes()")}} {{experimental_inline}}</dt>
- <dd>判断当前数组是否包含某指定的值,如果是返回 <code>true</code>,否则返回 <code>false</code>。</dd>
- <dt>{{jsxref("Array.prototype.join()")}}</dt>
- <dd>连接所有数组元素组成一个字符串。</dd>
- <dt>{{jsxref("Array.prototype.slice()")}}</dt>
- <dd>抽取当前数组中的一段元素组合成一个新数组。</dd>
- <dt>{{jsxref("Array.prototype.toSource()")}} {{non-standard_inline}}</dt>
- <dd>返回一个表示当前数组字面量的字符串。遮蔽了原型链上的 {{jsxref("Object.prototype.toSource()")}} 方法。</dd>
- <dt>{{jsxref("Array.prototype.toString()")}}</dt>
- <dd>返回一个由所有数组元素组合而成的字符串。遮蔽了原型链上的 {{jsxref("Object.prototype.toString()")}} 方法。</dd>
- <dt>{{jsxref("Array.prototype.toLocaleString()")}}</dt>
- <dd>返回一个由所有数组元素组合而成的本地化后的字符串。遮蔽了原型链上的 {{jsxref("Object.prototype.toLocaleString()")}} 方法。</dd>
- <dt>{{jsxref("Array.prototype.indexOf()")}}</dt>
- <dd>返回数组中第一个与指定值相等的元素的索引,如果找不到这样的元素,则返回 -1。</dd>
- <dt>{{jsxref("Array.prototype.lastIndexOf()")}}</dt>
- <dd>返回数组中最后一个(从右边数第一个)与指定值相等的元素的索引,如果找不到这样的元素,则返回 -1。</dd>
-</dl>
-
-<h3 id="Iteration_methods" name="Iteration_methods">遍历方法</h3>
-
-<p>在下面的众多遍历方法中,有很多方法都需要指定一个回调函数作为参数。在每一个数组元素都分别执行完回调函数之前,数组的length属性会被缓存在某个地方,所以,如果你在回调函数中为当前数组添加了新的元素,那么那些新添加的元素是不会被遍历到的。此外,如果在回调函数中对当前数组进行了其它修改,比如改变某个元素的值或者删掉某个元素,那么随后的遍历操作可能会受到未预期的影响。总之,不要尝试在遍历过程中对原数组进行任何修改,虽然规范对这样的操作进行了详细的定义,但为了可读性和可维护性,请不要这样做。</p>
-
-<dl>
- <dt>{{jsxref("Array.prototype.forEach()")}}</dt>
- <dd>为数组中的每个元素执行一次回调函数。</dd>
- <dt>{{jsxref("Array.prototype.entries()")}} {{experimental_inline}}</dt>
- <dd>返回一个数组迭代器对象,该迭代器会包含所有数组元素的键值对。</dd>
- <dt>{{jsxref("Array.prototype.every()")}}</dt>
- <dd>如果数组中的每个元素都满足测试函数,则返回 <code>true</code>,否则返回 <code>false。</code></dd>
- <dt>{{jsxref("Array.prototype.some()")}}</dt>
- <dd>如果数组中至少有一个元素满足测试函数,则返回 true,否则返回 false。</dd>
- <dt>{{jsxref("Array.prototype.filter()")}}</dt>
- <dd>将所有在过滤函数中返回 <code>true</code> 的数组元素放进一个新数组中并返回。</dd>
- <dt>{{jsxref("Array.prototype.find()")}} {{experimental_inline}}</dt>
- <dd>找到第一个满足测试函数的元素并返回那个元素的值,如果找不到,则返回 <code>undefined</code>。</dd>
- <dt>{{jsxref("Array.prototype.findIndex()")}} {{experimental_inline}}</dt>
- <dd>找到第一个满足测试函数的元素并返回那个元素的索引,如果找不到,则返回 <code>-1</code>。</dd>
- <dt>{{jsxref("Array.prototype.keys()")}} {{experimental_inline}}</dt>
- <dd>返回一个数组迭代器对象,该迭代器会包含所有数组元素的键。</dd>
- <dt>{{jsxref("Array.prototype.map()")}}</dt>
- <dd>返回一个由回调函数的返回值组成的新数组。</dd>
- <dt>{{jsxref("Array.prototype.reduce()")}}</dt>
- <dd>从左到右为每个数组元素执行一次回调函数,并把上次回调函数的返回值放在一个暂存器中传给下次回调函数,并返回最后一次回调函数的返回值。</dd>
- <dt>{{jsxref("Array.prototype.reduceRight()")}}</dt>
- <dd>从右到左为每个数组元素执行一次回调函数,并把上次回调函数的返回值放在一个暂存器中传给下次回调函数,并返回最后一次回调函数的返回值。</dd>
- <dt>{{jsxref("Array.prototype.values()")}} {{experimental_inline}}</dt>
- <dd>返回一个数组迭代器对象,该迭代器会包含所有数组元素的值。</dd>
- <dt>{{jsxref("Array.prototype.@@iterator()", "Array.prototype[@@iterator]()")}} {{experimental_inline}}</dt>
- <dd>和上面的 <code>values() 方法是同一个函数。</code></dd>
-</dl>
-
-<h3 id="Generic_methods" name="Generic_methods">通用方法</h3>
-
-<p>在 JavaScript 中,很多的数组方法被故意设计成是通用的。也就是说,那些看起来像是数组的对象(类数组对象),即拥有一个 <code>length</code> 属性,以及对应的索引属性(也就是数字类型的属性,比如 <code>obj[5]</code>)的非数组对象也是可以调用那些数组方法的。其中一些数组方法,比如说 {{jsxref("Array.join", "join")}} 方法,它们只会单纯的读取当前对象的 <code>length</code> 属性和索引属性的值,并不会尝试去改变这些属性的值。而另外一些数组方法,比如说 {{jsxref("Array.reverse", "reverse")}} 方法,它们会尝试修改那些属性的值,因此,如果当前对象是个 {{jsxref("String")}} 对象,那么这些方法在执行时就会报错,因为字符串对象的 <code>length</code> 属性和索引属性都是只读的。</p>
-
-<h2 id="Specifications" name="Specifications">规范</h2>
-
-<table class="standard-table">
- <tbody>
- <tr>
- <th scope="col">Specification</th>
- <th scope="col">Status</th>
- <th scope="col">Comment</th>
- </tr>
- <tr>
- <td>{{SpecName('ES1')}}</td>
- <td>{{Spec2('ES1')}}</td>
- <td>Initial definition.</td>
- </tr>
- <tr>
- <td>{{SpecName('ES5.1', '#sec-15.4.3.1', 'Array.prototype')}}</td>
- <td>{{Spec2('ES5.1')}}</td>
- <td></td>
- </tr>
- <tr>
- <td>{{SpecName('ES6', '#sec-array.prototype', 'Array.prototype')}}</td>
- <td>{{Spec2('ES6')}}</td>
- <td></td>
- </tr>
- </tbody>
-</table>
-
-<h2 id="Browser_compatibility" name="Browser_compatibility">浏览器兼容性</h2>
-
-<div>
-<div>
-
-
-<p>{{Compat("javascript.builtins.Array.prototype")}}</p>
-</div>
-</div>
-
-<h2 id="See_also" name="See_also">相关链接</h2>
-
-<ul>
- <li>{{jsxref("Array")}}</li>
- <li>{{jsxref("Function.prototype")}}</li>
-</ul>
diff --git a/files/zh-cn/web/javascript/reference/global_objects/arraybuffer/prototype/index.html b/files/zh-cn/web/javascript/reference/global_objects/arraybuffer/prototype/index.html
deleted file mode 100644
index 92909dbef7..0000000000
--- a/files/zh-cn/web/javascript/reference/global_objects/arraybuffer/prototype/index.html
+++ /dev/null
@@ -1,64 +0,0 @@
----
-title: ArrayBuffer.prototype
-slug: Web/JavaScript/Reference/Global_Objects/ArrayBuffer/prototype
-tags:
- - ArrayBuffer
-translation_of: Web/JavaScript/Reference/Global_Objects/ArrayBuffer
-translation_of_original: Web/JavaScript/Reference/Global_Objects/ArrayBuffer/prototype
----
-<div>{{JSRef}}</div>
-
-<p><strong><code>ArrayBuffer.prototype</code></strong><code>属性表示</code>{{jsxref("ArrayBuffer")}}对象的原型。</p>
-
-<div>{{js_property_attributes(0,0,0)}}</div>
-
-<div> </div>
-
-<h2 id="描述">描述</h2>
-
-<p>ArrayBuffer 实例继承自<code>ArrayBuffer.prototype。对所有的构造函数来说,你可以通过改变构造函数的原型对象来改变所有的ArrayBuffer实例。</code></p>
-
-<h2 id="属性">属性</h2>
-
-<dl>
- <dt>ArrayBuffer.prototype.constructor</dt>
- <dd>指定函数,它创建一个对象的原型。其初始值是标准ArrayBuffer内置构造函数。</dd>
- <dt>{{jsxref("ArrayBuffer.prototype.byteLength")}} {{readonlyInline}}</dt>
- <dd>数组的字节大小。在数组创建时确定,并且不可变更。<strong>只读</strong>。</dd>
-</dl>
-
-<h2 id="方法">方法</h2>
-
-<dl>
- <dt>{{jsxref("ArrayBuffer.prototype.slice()")}}</dt>
- <dd>返回一个新的 <code>ArrayBuffer</code> ,它的内容是这个 <code>ArrayBuffer</code> 的字节副本,从begin(包括),到end(不包括)。如果begin或end是负数,则指的是从数组末尾开始的索引,而不是从头开始。</dd>
-</dl>
-
-<h2 id="规范">规范</h2>
-
-<table class="standard-table">
- <tbody>
- <tr>
- <th scope="col">规范</th>
- <th scope="col">状态</th>
- <th scope="col">备注</th>
- </tr>
- <tr>
- <td>{{SpecName('ES6', '#sec-arraybuffer.prototype', 'ArrayBuffer.prototype')}}</td>
- <td>{{Spec2('ES6')}}</td>
- <td>初始定义</td>
- </tr>
- </tbody>
-</table>
-
-<h2 id="浏览器兼容性">浏览器兼容性</h2>
-
-
-
-<p>{{Compat("javascript.builtins.ArrayBuffer.prototype")}}</p>
-
-<h2 id="相关链接">相关链接</h2>
-
-<ul>
- <li>{{jsxref("ArrayBuffer")}}</li>
-</ul>
diff --git a/files/zh-cn/web/javascript/reference/global_objects/asyncfunction/prototype/index.html b/files/zh-cn/web/javascript/reference/global_objects/asyncfunction/prototype/index.html
deleted file mode 100644
index 9a8678680a..0000000000
--- a/files/zh-cn/web/javascript/reference/global_objects/asyncfunction/prototype/index.html
+++ /dev/null
@@ -1,57 +0,0 @@
----
-title: AsyncFunction.prototype
-slug: Web/JavaScript/Reference/Global_Objects/AsyncFunction/prototype
-translation_of: Web/JavaScript/Reference/Global_Objects/AsyncFunction/prototype
----
-<div>{{JSRef}}</div>
-
-<p><code><strong>AsyncFunction.prototype</strong></code> 属性表示 {{jsxref("AsyncFunction")}} 的原型对象。</p>
-
-<h2 id="描述">描述</h2>
-
-<p>{{jsxref("AsyncFunction")}} 对象继承自 <code>AsyncFunction.prototype</code>。<code>AsyncFunction.prototype</code> 不能被修改。</p>
-
-<h2 id="属性">属性</h2>
-
-<dl>
- <dt><code><strong>AsyncFunction.constructor</strong></code></dt>
- <dd>默认值为 {{jsxref("AsyncFunction")}}。</dd>
- <dt><code><strong>AsyncFunction.prototype[@@toStringTag]</strong></code></dt>
- <dd>返回 "AsyncFunction"。</dd>
-</dl>
-
-<h2 id="规范">规范</h2>
-
-<table class="standard-table">
- <thead>
- <tr>
- <th scope="col">Specification</th>
- <th scope="col">Status</th>
- <th scope="col">Comment</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>{{SpecName('ESDraft', '#sec-async-function-constructor-prototype', 'AsyncFunction.prototype')}}</td>
- <td>{{Spec2('ESDraft')}}</td>
- <td>最初定义在ES2017.</td>
- </tr>
- </tbody>
-</table>
-
-<h2 id="兼容性">兼容性</h2>
-
-<div>
-<div>
-
-
-<p>{{Compat("javascript.builtins.AsyncFunction.prototype")}}</p>
-</div>
-</div>
-
-<h2 id="参见">参见</h2>
-
-<ul>
- <li>{{jsxref("AsyncFunction")}}</li>
- <li>{{jsxref("Function")}}</li>
-</ul>
diff --git a/files/zh-cn/web/javascript/reference/global_objects/asynciterator/index.html b/files/zh-cn/web/javascript/reference/global_objects/asynciterator/index.html
deleted file mode 100644
index 9c14e462bd..0000000000
--- a/files/zh-cn/web/javascript/reference/global_objects/asynciterator/index.html
+++ /dev/null
@@ -1,119 +0,0 @@
----
-title: AsyncIterator
-slug: Web/JavaScript/Reference/Global_Objects/AsyncIterator
-tags:
- - 异步迭代器
- - 类
-translation_of: Web/JavaScript/Reference/Global_Objects/AsyncIterator
----
-<p>{{JSRef}}{{Draft}}</p>
-
-<p><strong><code>AsyncIterator</code></strong> 全局对象是一个提供辅助方法的抽象类,与暴露在{{JSxRef("Array")}} 实例上的那些类似。</p>
-
-<h2 id="构造函数">构造函数</h2>
-
-<dl>
- <dt>{{JSxRef("AsyncIterator.AsyncIterator", "AsyncIterator()")}} </dt>
- <dd>一个抽象构造函数,仅能够通过 {{JSxRef("Operators/super", "super()")}} 来调用。</dd>
-</dl>
-
-<h2 id="属性">属性</h2>
-
-<dl>
- <dt><code>AsyncIterator.prototype</code></dt>
- <dd><code>%AsyncIteratorPrototype%</code> 内部对象。</dd>
-</dl>
-
-<h2 id="方法">方法</h2>
-
-<dl>
- <dt>{{JSxRef("AsyncIterator.from()")}} </dt>
- <dd>等同于在传入的对象上调用 <code>@@asyncIterator</code> 。</dd>
-</dl>
-
-<h2 id="AsyncIterator_原型"><code>AsyncIterator</code> 原型</h2>
-
-<h3 id="原型属性">原型属性</h3>
-
-<dl>
- <dt><code>AsyncIterator.prototype.constructor</code></dt>
- <dd>指定创建对的象原型的函数.</dd>
- <dt><code>AsyncIterator.prototype[@@toStringTag]</code> </dt>
- <dd><code>字符串 "Iterator"</code>.</dd>
-</dl>
-
-<h3 id="原型方法">原型方法</h3>
-
-<dl>
- <dt>{{JSxRef("AsyncIterator.prototype.map()")}} </dt>
- <dd>...</dd>
- <dt>{{JSxRef("AsyncIterator.prototype.filter()")}} </dt>
- <dd>...</dd>
- <dt>{{JSxRef("AsyncIterator.prototype.take()")}} </dt>
- <dd>...</dd>
- <dt>{{JSxRef("AsyncIterator.prototype.drop()")}} </dt>
- <dd>...</dd>
- <dt>{{JSxRef("AsyncIterator.prototype.asIndexedPairs()")}} </dt>
- <dd>...</dd>
- <dt>{{JSxRef("AsyncIterator.prototype.flatMap()")}} </dt>
- <dd>...</dd>
- <dt>{{JSxRef("AsyncIterator.prototype.reduce()")}} </dt>
- <dd>...</dd>
- <dt>{{JSxRef("AsyncIterator.prototype.toArray()")}} </dt>
- <dd>...</dd>
- <dt>{{JSxRef("AsyncIterator.prototype.forEach()")}} </dt>
- <dd>...</dd>
- <dt>{{JSxRef("AsyncIterator.prototype.some()")}} </dt>
- <dd>...</dd>
- <dt>{{JSxRef("AsyncIterator.prototype.every()")}} </dt>
- <dd>...</dd>
- <dt>{{JSxRef("AsyncIterator.prototype.find()")}} </dt>
- <dd>...</dd>
- <dt>{{JSxRef("AsyncIterator.prototype.@@iterator()", "AsyncIterator.prototype[@@iterator]()")}}</dt>
- <dd>返回该 <code>AsyncIterator</code> 实例。</dd>
-</dl>
-
-<h2 id="实现方法">实现方法</h2>
-
-<dl>
- <dt>{{JSxRef("AsyncIterator.prototype.next()", "&lt;<var>implementation</var>&gt;.prototype.next()")}}</dt>
- <dd>获取 <code>AsyncIterator</code> 中的下一项</dd>
- <dt>{{JSxRef("AsyncIterator.prototype.return()", "&lt;<var>implementation</var>&gt;.prototype.next()")}}{{Optional_Inline}}</dt>
- <dd>返回给出的值,并结束迭代。</dd>
- <dt>{{JSxRef("AsyncIterator.prototype.throw()", "&lt;<var>implementation</var>&gt;.prototype.next()")}}{{Optional_Inline}}</dt>
- <dd>抛出一个迭代器错误(同时也终止了迭代器,除非是在该迭代器内部被捕获)。</dd>
-</dl>
-
-<h2 id="规范">规范</h2>
-
-<table class="standard-table">
- <thead>
- <tr>
- <th scope="col">Specification</th>
- <th scope="col">Status</th>
- <th scope="col">Comment</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td><a href="https://tc39.es/proposal-iterator-helpers/#sec-asynciterator-constructor">ESNext Iterator Helpers Proposal</a></td>
- <td><span class="spec-Draft">Stage 2 Draft</span></td>
- <td>Initial definition</td>
- </tr>
- </tbody>
-</table>
-
-<h2 id="浏览器兼容性">浏览器兼容性</h2>
-
-
-
-<p>{{Compat("javascript.builtins.AsyncIterator")}}</p>
-
-<h2 id="另请参阅">另请参阅</h2>
-
-<ul>
- <li>{{JSxRef("Iteration_protocols", "Iteration protocols", "", "1")}}</li>
- <li>{{JSxRef("Generator")}}</li>
- <li>{{JSxRef("Global_Objects/AsyncGenerator", "AsyncGenerator")}}</li>
- <li>{{JSxRef("Iterator")}} </li>
-</ul>
diff --git a/files/zh-cn/web/javascript/reference/global_objects/boolean/prototype/index.html b/files/zh-cn/web/javascript/reference/global_objects/boolean/prototype/index.html
deleted file mode 100644
index cb7f351bd1..0000000000
--- a/files/zh-cn/web/javascript/reference/global_objects/boolean/prototype/index.html
+++ /dev/null
@@ -1,76 +0,0 @@
----
-title: Boolean.prototype
-slug: Web/JavaScript/Reference/Global_Objects/Boolean/prototype
-tags:
- - Boolean
- - JavaScript
- - Property
- - Prototype
-translation_of: Web/JavaScript/Reference/Global_Objects/Boolean
-translation_of_original: Web/JavaScript/Reference/Global_Objects/Boolean/prototype
----
-<p>{{JSRef}}</p>
-
-<p><strong><code>Boolean.prototype</code></strong> 属性表示{{jsxref("Boolean")}} 构造函数的原型。</p>
-
-<div>{{js_property_attributes(0,0,0)}}</div>
-
-<h2 id="Description" name="Description" style="margin-bottom: 20px; line-height: 30px;">描述</h2>
-
-<p>{{jsxref("Boolean")}}实例继承自<code>Boolean.prototype</code>。你可以使用构造函数的原型对象向所有{{jsxref("Boolean")}}实例添加属性或方法。</p>
-
-<h2 id="属性" style="margin-bottom: 20px; line-height: 30px;">属性</h2>
-
-<dl>
- <dt><code>Boolean.prototype.constructor</code></dt>
- <dd>返回创建了实例原型的函数。默认为{{jsxref("Boolean")}}函数。</dd>
-</dl>
-
-<h2 id="方法" style="margin-bottom: 20px; line-height: 30px;">方法</h2>
-
-<dl>
- <dt>{{jsxref("Boolean.prototype.toSource()")}} {{ Non-standard_inline() }}</dt>
- <dd>返回包含{{jsxref("Boolean")}}对象源码的字符串;你可以使用这个字符串来创建一个等价的对象。覆盖了{{jsxref("Object.prototype.toSource()")}} 方法。</dd>
- <dt>{{jsxref("Boolean.prototype.toString()")}}</dt>
- <dd>根据对象的值来返回一个字符串:<code>"true"</code> 或 <code>"false"</code>。覆盖了 {{jsxref("Object.prototype.toString()")}} 方法。</dd>
- <dt>{{jsxref("Boolean.prototype.valueOf()")}}</dt>
- <dd>返回{{jsxref("Boolean")}}对象的原始值。覆盖了 {{jsxref("Object.prototype.valueOf()")}} 方法。</dd>
-</dl>
-
-<h2 id="规范" style="margin-bottom: 20px; line-height: 30px;">规范</h2>
-
-<table class="standard-table">
- <tbody>
- <tr>
- <th scope="col">Specification</th>
- <th scope="col">Status</th>
- <th scope="col">Comment</th>
- </tr>
- <tr>
- <td>{{SpecName('ES1')}}</td>
- <td>{{Spec2('ES1')}}</td>
- <td>Initial definition. Implemented in JavaScript 1.0.</td>
- </tr>
- <tr>
- <td>{{SpecName('ES5.1', '#sec-15.6.3.1', 'Boolean.prototype')}}</td>
- <td>{{Spec2('ES5.1')}}</td>
- <td> </td>
- </tr>
- <tr>
- <td>{{SpecName('ES6', '#sec-boolean.prototype', 'Boolean.prototype')}}</td>
- <td>{{Spec2('ES6')}}</td>
- <td> </td>
- </tr>
- <tr>
- <td>{{SpecName('ESDraft', '#sec-boolean.prototype', 'Boolean.prototype')}}</td>
- <td>{{Spec2('ESDraft')}}</td>
- <td> </td>
- </tr>
- </tbody>
-</table>
-
-<h2 id="浏览器兼容" style="margin-bottom: 20px; line-height: 30px;">浏览器兼容</h2>
-
-<div class="hidden">The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> and send us a pull request.</div>
-
-<p>{{Compat("javascript.builtins.Boolean.prototype")}}</p>
diff --git a/files/zh-cn/web/javascript/reference/global_objects/dataview/prototype/index.html b/files/zh-cn/web/javascript/reference/global_objects/dataview/prototype/index.html
deleted file mode 100644
index 3285efa3d3..0000000000
--- a/files/zh-cn/web/javascript/reference/global_objects/dataview/prototype/index.html
+++ /dev/null
@@ -1,103 +0,0 @@
----
-title: DataView.prototype
-slug: Web/JavaScript/Reference/Global_Objects/DataView/prototype
-tags:
- - DataView属性
-translation_of: Web/JavaScript/Reference/Global_Objects/DataView
-translation_of_original: Web/JavaScript/Reference/Global_Objects/DataView/prototype
----
-<div>{{JSRef}}</div>
-
-<p><code><strong>DataView</strong></code><strong><code>.prototype</code></strong> 表示{{jsxref("DataView")}}的原型</p>
-
-<div>{{js_property_attributes(0,0,0)}}</div>
-
-<h2 id="描述">描述</h2>
-
-<p><code>DataView</code> 的实例从<font face="Consolas, Liberation Mono, Courier, monospace">DataView.prototype</font>继承。就像所有的构造器,你可以修改原型来改变生成的<code>DataView</code>实例。</p>
-
-<h2 id="属性">属性</h2>
-
-<dl>
- <dt>{{jsxref("DataView.prototype.constructor")}}</dt>
- <dd>指定用来生成原型的构造函数.初始化值是标准内置DataView构造器.</dd>
- <dt>{{jsxref("DataView.prototype.buffer")}} {{readonlyInline}}</dt>
- <dd>被视图引入的{{jsxref("ArrayBuffer")}}.创建实例的时候已固化因此是只读的.</dd>
- <dt>{{jsxref("DataView.prototype.byteLength")}} {{readonlyInline}}</dt>
- <dd>从 {{jsxref("ArrayBuffer")}}中读取的字节长度. 创建实例的时候已固化因此是只读的.</dd>
- <dt>{{jsxref("DataView.prototype.byteOffset")}} {{readonlyInline}}</dt>
- <dd>从 {{jsxref("ArrayBuffer")}}读取时的偏移字节长度. 创建实例的时候已固化因此是只读的.</dd>
-</dl>
-
-<h2 id="方法">方法</h2>
-
-<h3 id="读">读</h3>
-
-<dl>
- <dt>{{jsxref("DataView.prototype.getInt8()")}}</dt>
- <dd><code>从</code>{{jsxref("DataView")}}起始位置以byte为计数的指定偏移量(byteOffset)处获取一个8-bit数(一个字节).</dd>
- <dt>{{jsxref("DataView.prototype.getUint8()")}}</dt>
- <dd><code>从</code>{{jsxref("DataView")}}起始位置以byte为计数的指定偏移量(byteOffset)处获取一个8-bit数(无符号字节).</dd>
- <dt>{{jsxref("DataView.prototype.getInt16()")}}</dt>
- <dd><code>从</code>{{jsxref("DataView")}}起始位置以byte为计数的指定偏移量(byteOffset)处获取一个16-bit数(短整型).</dd>
- <dt>{{jsxref("DataView.prototype.getUint16()")}}</dt>
- <dd><code>从</code>{{jsxref("DataView")}}起始位置以byte为计数的指定偏移量(byteOffset)处获取一个16-bit数(无符号短整型).</dd>
- <dt>{{jsxref("DataView.prototype.getInt32()")}}</dt>
- <dd><code>从</code>{{jsxref("DataView")}}起始位置以byte为计数的指定偏移量(byteOffset)处获取一个32-bit数(长整型).</dd>
- <dt>{{jsxref("DataView.prototype.getUint32()")}}</dt>
- <dd><code>从</code>{{jsxref("DataView")}}起始位置以byte为计数的指定偏移量(byteOffset)处获取一个32-bit数(无符号长整型).</dd>
- <dt>{{jsxref("DataView.prototype.getFloat32()")}}</dt>
- <dd><code>从</code>{{jsxref("DataView")}}起始位置以byte为计数的指定偏移量(byteOffset)处获取一个32-bit数(浮点型).</dd>
- <dt>{{jsxref("DataView.prototype.getFloat64()")}}</dt>
- <dd><code>从</code>{{jsxref("DataView")}}起始位置以byte为计数的指定偏移量(byteOffset)处获取一个64-bit数(双精度浮点型).</dd>
-</dl>
-
-<h3 id="写">写</h3>
-
-<dl>
- <dt>{{jsxref("DataView.prototype.setInt8()")}}</dt>
- <dd><code>从</code>{{jsxref("DataView")}}起始位置以byte为计数的指定偏移量(byteOffset)处储存一个8-bit数(一个字节).</dd>
- <dt>{{jsxref("DataView.prototype.setUint8()")}}</dt>
- <dd><code>从</code>{{jsxref("DataView")}}起始位置以byte为计数的指定偏移量(byteOffset)处储存一个8-bit数(无符号字节).</dd>
- <dt>{{jsxref("DataView.prototype.setInt16()")}}</dt>
- <dd><code>从</code>{{jsxref("DataView")}}起始位置以byte为计数的指定偏移量(byteOffset)处储存一个16-bit数(短整型).</dd>
- <dt>{{jsxref("DataView.prototype.setUint16()")}}</dt>
- <dd><code>从</code>{{jsxref("DataView")}}起始位置以byte为计数的指定偏移量(byteOffset)处储存一个16-bit数(无符号短整型).</dd>
- <dt>{{jsxref("DataView.prototype.setInt32()")}}</dt>
- <dd><code>从</code>{{jsxref("DataView")}}起始位置以byte为计数的指定偏移量(byteOffset)处储存一个32-bit数(长整型).</dd>
- <dt>{{jsxref("DataView.prototype.setUint32()")}}</dt>
- <dd><code>从</code>{{jsxref("DataView")}}起始位置以byte为计数的指定偏移量(byteOffset)处储存一个32-bit数(无符号长整型).</dd>
- <dt>{{jsxref("DataView.prototype.setFloat32()")}}</dt>
- <dd><code>从</code>{{jsxref("DataView")}}起始位置以byte为计数的指定偏移量(byteOffset)处储存一个32-bit数(浮点型).</dd>
- <dt>{{jsxref("DataView.prototype.setFloat64()")}}</dt>
- <dd><code>从</code>{{jsxref("DataView")}}起始位置以byte为计数的指定偏移量(byteOffset)处储存一个64-bit数(双精度浮点型).</dd>
-</dl>
-
-<h2 id="规范">规范</h2>
-
-<table class="standard-table">
- <tbody>
- <tr>
- <th scope="col">Specification</th>
- <th scope="col">Status</th>
- <th scope="col">Comment</th>
- </tr>
- <tr>
- <td>{{SpecName('ES6', '#sec-dataview.prototype', 'DataView.prototype')}}</td>
- <td>{{Spec2('ES6')}}</td>
- <td>Initial definition.</td>
- </tr>
- </tbody>
-</table>
-
-<h2 id="浏览器支持">浏览器支持</h2>
-
-
-
-<p>{{Compat("javascript.builtins.DataView.prototype")}}</p>
-
-<h2 id="另见">另见</h2>
-
-<ul>
- <li>{{jsxref("DataView")}}</li>
-</ul>
diff --git a/files/zh-cn/web/javascript/reference/global_objects/date/prototype/index.html b/files/zh-cn/web/javascript/reference/global_objects/date/prototype/index.html
deleted file mode 100644
index da3d715018..0000000000
--- a/files/zh-cn/web/javascript/reference/global_objects/date/prototype/index.html
+++ /dev/null
@@ -1,181 +0,0 @@
----
-title: Date.prototype
-slug: Web/JavaScript/Reference/Global_Objects/Date/prototype
-tags:
- - Date
- - JavaScript
- - Property
-translation_of: Web/JavaScript/Reference/Global_Objects/Date
-translation_of_original: Web/JavaScript/Reference/Global_Objects/Date/prototype
----
-<div>{{JSRef}}</div>
-
-<p><strong><code>Date.prototype</code></strong> 属性表示{{jsxref("Date")}}构造函数的原型。</p>
-
-<div>{{js_property_attributes(0,0,1)}}</div>
-
-<h2 id="Description" name="Description">描述</h2>
-
-<p>{{jsxref("Date")}}实例继承自<code>Date.prototype</code>。可以通过修改构造函数的原型对象来影响 {{jsxref("Date")}}实例继承的属性和方法。</p>
-
-<p>为了兼容千禧年计算(也即考虑到 2000 年),应该总是指定完整的年份,例如,使用 1998,而不是 98。为了方便以完整的格式指定年份, JavaScript 包含了相应的方法{{jsxref("Global_Objects/Date/getFullYear", "getFullYear()")}},{{jsxref("Global_Objects/Date/setFullYear", "setFullYear()")}}, {{jsxref("Global_Objects/Date/getUTCFullYear", "getUTCFullYear()")}} 和{{jsxref("Global_Objects/Date/setUTCFullYear", "setUTCFullYear()")}}。</p>
-
-<p>从 ECMAScript 6 开始,<code>Date.prototype</code>本身就是一个普通的对象。不是{{jsxref("Date")}}的实例。</p>
-
-<h2 id="Properties" name="Properties">属性</h2>
-
-<dl>
- <dt><code>Date.prototype.constructor</code></dt>
- <dd>返回创建该实例的函数。默认是<code>Date</code>构造函数。</dd>
-</dl>
-
-<h2 id="Methods" name="Methods">方法</h2>
-
-<h3 id="Getter">Getter</h3>
-
-<dl>
- <dt>{{jsxref("Date.prototype.getDate()")}}</dt>
- <dd>根据本地时间返回指定日期对象的月份中的第几天(1-31)。</dd>
- <dt>{{jsxref("Date.prototype.getDay()")}}</dt>
- <dd>根据本地时间返回指定日期对象的星期中的第几天(0-6)。</dd>
- <dt>{{jsxref("Date.prototype.getFullYear()")}}</dt>
- <dd>根据本地时间返回指定日期对象的年份(四位数年份时返回四位数字)。</dd>
- <dt>{{jsxref("Date.prototype.getHours()")}}</dt>
- <dd>根据本地时间返回指定日期对象的小时(0-23)。</dd>
- <dt>{{jsxref("Date.prototype.getMilliseconds()")}}</dt>
- <dd>根据本地时间返回指定日期对象的毫秒(0-999)。</dd>
- <dt>{{jsxref("Date.prototype.getMinutes()")}}</dt>
- <dd>根据本地时间返回指定日期对象的分钟(0-59)。</dd>
- <dt>{{jsxref("Date.prototype.getMonth()")}}</dt>
- <dd>根据本地时间返回指定日期对象的月份(0-11)。</dd>
- <dt>{{jsxref("Date.prototype.getSeconds()")}}</dt>
- <dd>根据本地时间返回指定日期对象的秒数(0-59)。</dd>
- <dt>{{jsxref("Date.prototype.getTime()")}}</dt>
- <dd>返回从1970-1-1 00:00:00 UTC(协调世界时)到该日期经过的毫秒数,对于1970-1-1 00:00:00 UTC之前的时间返回负值。</dd>
- <dt>{{jsxref("Date.prototype.getTimezoneOffset()")}}</dt>
- <dd>返回当前时区的时区偏移。</dd>
- <dt>{{jsxref("Date.prototype.getUTCDate()")}}</dt>
- <dd>根据世界时返回特定日期对象一个月的第几天(1-31).</dd>
- <dt>{{jsxref("Date.prototype.getUTCDay()")}}</dt>
- <dd>根据世界时返回特定日期对象一个星期的第几天(0-6).</dd>
- <dt>{{jsxref("Date.prototype.getUTCFullYear()")}}</dt>
- <dd>根据世界时返回特定日期对象所在的年份(4位数).</dd>
- <dt>{{jsxref("Date.prototype.getUTCHours()")}}</dt>
- <dd>根据世界时返回特定日期对象当前的小时(0-23).</dd>
- <dt>{{jsxref("Date.prototype.getUTCMilliseconds()")}}</dt>
- <dd>根据世界时返回特定日期对象的毫秒数(0-999).</dd>
- <dt>{{jsxref("Date.prototype.getUTCMinutes()")}}</dt>
- <dd>根据世界时返回特定日期对象的分钟数(0-59).</dd>
- <dt>{{jsxref("Date.prototype.getUTCMonth()")}}</dt>
- <dd>根据世界时返回特定日期对象的月份(0-11).</dd>
- <dt>{{jsxref("Date.prototype.getUTCSeconds()")}}</dt>
- <dd>根据世界时返回特定日期对象的秒数(0-59).</dd>
- <dt>{{jsxref("Date.prototype.getYear()")}}{{deprecated_inline}}</dt>
- <dd>根据特定日期返回年份 (通常 2-3 位数). 使用 {{jsxref("Global_Objects/Date/getFullYear", "getFullYear()")}} .</dd>
-</dl>
-
-<h3 id="Setter">Setter</h3>
-
-<dl>
- <dt>{{jsxref("Date.prototype.setDate()")}}</dt>
- <dd>根据本地时间为指定的日期对象设置月份中的第几天。</dd>
- <dt>{{jsxref("Date.prototype.setFullYear()")}}</dt>
- <dd>根据本地时间为指定日期对象设置完整年份(四位数年份是四个数字)。</dd>
- <dt>{{jsxref("Date.prototype.setHours()")}}</dt>
- <dd>根据本地时间为指定日期对象设置小时数。</dd>
- <dt>{{jsxref("Date.prototype.setMilliseconds()")}}</dt>
- <dd>根据本地时间为指定日期对象设置毫秒数。</dd>
- <dt>{{jsxref("Date.prototype.setMinutes()")}}</dt>
- <dd>根据本地时间为指定日期对象设置分钟数。</dd>
- <dt>{{jsxref("Date.prototype.setMonth()")}}</dt>
- <dd>根据本地时间为指定日期对象设置月份。</dd>
- <dt>{{jsxref("Date.prototype.setSeconds()")}}</dt>
- <dd>根据本地时间为指定日期对象设置秒数。</dd>
- <dt>{{jsxref("Date.prototype.setTime()")}}</dt>
- <dd>通过指定从 1970-1-1 00:00:00 UTC 开始经过的毫秒数来设置日期对象的时间,对于早于 1970-1-1 00:00:00 UTC的时间可使用负值。</dd>
- <dt>{{jsxref("Date.prototype.setUTCDate()")}}</dt>
- <dd>根据世界时设置 Date 对象中月份的一天 (1 ~ 31)。</dd>
- <dt>{{jsxref("Date.prototype.setUTCFullYear()")}}</dt>
- <dd>根据世界时设置 Date 对象中的年份(四位数字)。</dd>
- <dt>{{jsxref("Date.prototype.setUTCHours()")}}</dt>
- <dd>根据世界时设置 Date 对象中的小时 (0 ~ 23)。</dd>
- <dt>{{jsxref("Date.prototype.setUTCMilliseconds()")}}</dt>
- <dd>根据世界时设置 Date 对象中的毫秒 (0 ~ 999)。</dd>
- <dt>{{jsxref("Date.prototype.setUTCMinutes()")}}</dt>
- <dd>根据世界时设置 Date 对象中的分钟 (0 ~ 59)。</dd>
- <dt>{{jsxref("Date.prototype.setUTCMonth()")}}</dt>
- <dd>根据世界时设置 Date 对象中的月份 (0 ~ 11)。</dd>
- <dt>{{jsxref("Date.prototype.setUTCSeconds()")}}</dt>
- <dd>根据世界时设置 Date 对象中的秒钟 (0 ~ 59)。</dd>
- <dt>{{jsxref("Date.prototype.setYear()")}} {{deprecated_inline}}</dt>
- <dd>setYear() 方法用于设置年份。请使用 {{jsxref("Global_Objects/Date/setFullYear", "setFullYear()")}} 方法代替。</dd>
-</dl>
-
-<h3 id="Conversion_getter">Conversion getter</h3>
-
-<dl>
- <dt>{{jsxref("Date.prototype.toDateString()")}}</dt>
- <dd>以人类易读(human-readable)的形式返回该日期对象日期部分的字符串。</dd>
- <dt>{{jsxref("Date.prototype.toISOString()")}}</dt>
- <dd>把一个日期转换为符合 ISO 8601 扩展格式的字符串。</dd>
- <dt>{{jsxref("Date.prototype.toJSON()")}}</dt>
- <dd>使用 {{jsxref("Global_Objects/Date/toISOString", "toISOString()")}} 返回一个表示该日期的字符串。为了在 {{jsxref("JSON.stringify()")}} 方法中使用。</dd>
- <dt>{{jsxref("Date.prototype.toGMTString()")}} {{deprecated_inline}}</dt>
- <dd>返回一个基于 GMT (UT) 时区的字符串来表示该日期。请使用 {{jsxref("Global_Objects/Date/toUTCString", "toUTCString()")}} 方法代替。</dd>
- <dt>{{jsxref("Date.prototype.toLocaleDateString()")}}</dt>
- <dd>返回一个表示该日期对象日期部分的字符串,该字符串格式与系统设置的地区关联(locality sensitive)。</dd>
- <dt>{{jsxref("Date.prototype.toLocaleFormat()")}} {{non-standard_inline}}</dt>
- <dd>使用格式字符串将日期转换为字符串。</dd>
- <dt>{{jsxref("Date.prototype.toLocaleString()")}}</dt>
- <dd>返回一个表示该日期对象的字符串,该字符串与系统设置的地区关联(locality sensitive)。覆盖了 {{jsxref("Global_Objects/Object/toLocaleString", "Object.prototype.toLocaleString()")}} 方法。</dd>
- <dt>{{jsxref("Date.prototype.toLocaleTimeString()")}}</dt>
- <dd>返回一个表示该日期对象时间部分的字符串,该字符串格式与系统设置的地区关联(locality sensitive)。</dd>
- <dt>{{jsxref("Date.prototype.toSource()")}}{{non-standard_inline}}</dt>
- <dd>返回一个与{{jsxref("Date")}}等价的原始字符串对象,你可以使用这个值去生成一个新的对象。重写了 {{jsxref("Object.prototype.toSource()")}} 这个方法。</dd>
- <dt>{{jsxref("Date.prototype.toString()")}}</dt>
- <dd>返回一个表示该日期对象的字符串。覆盖了{{jsxref("Object.prototype.toString()")}} 方法。</dd>
- <dt>{{jsxref("Date.prototype.toTimeString()")}}</dt>
- <dd>以人类易读格式返回日期对象时间部分的字符串。</dd>
- <dt>{{jsxref("Date.prototype.toUTCString()")}}</dt>
- <dd>把一个日期对象转换为一个以UTC时区计时的字符串。</dd>
- <dt>{{jsxref("Date.prototype.valueOf()")}}</dt>
- <dd>返回一个日期对象的原始值。覆盖了 {{jsxref("Object.prototype.valueOf()")}} 方法。</dd>
-</dl>
-
-<h2 id="规范">规范</h2>
-
-<table class="standard-table">
- <tbody>
- <tr>
- <th scope="col">Specification</th>
- <th scope="col">Status</th>
- <th scope="col">Comment</th>
- </tr>
- <tr>
- <td>{{SpecName('ES1')}}</td>
- <td>{{Spec2('ES1')}}</td>
- <td>Initial definition. Implemented in JavaScript 1.1.</td>
- </tr>
- <tr>
- <td>{{SpecName('ES5.1', '#sec-15.9.5', 'Date.prototype')}}</td>
- <td>{{Spec2('ES5.1')}}</td>
- <td> </td>
- </tr>
- <tr>
- <td>{{SpecName('ES6', '#sec-properties-of-the-date-prototype-object', 'Date.prototype')}}</td>
- <td>{{Spec2('ES6')}}</td>
- <td> </td>
- </tr>
- <tr>
- <td>{{SpecName('ESDraft', '#sec-properties-of-the-date-prototype-object', 'Date.prototype')}}</td>
- <td>{{Spec2('ESDraft')}}</td>
- <td> </td>
- </tr>
- </tbody>
-</table>
-
-<h2 id="浏览器兼容性">浏览器兼容性</h2>
-
-<p class="hidden">The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> and send us a pull request.</p>
-
-<p>{{Compat("javascript.builtins.Date.prototype")}}</p>
diff --git a/files/zh-cn/web/javascript/reference/global_objects/error/prototype/index.html b/files/zh-cn/web/javascript/reference/global_objects/error/prototype/index.html
deleted file mode 100644
index 420b5634de..0000000000
--- a/files/zh-cn/web/javascript/reference/global_objects/error/prototype/index.html
+++ /dev/null
@@ -1,162 +0,0 @@
----
-title: Error.prototype
-slug: Web/JavaScript/Reference/Global_Objects/Error/prototype
-tags:
- - Error
- - JavaScript
- - Property
- - 参考
- - 属性
-translation_of: Web/JavaScript/Reference/Global_Objects/Error
-translation_of_original: Web/JavaScript/Reference/Global_Objects/Error/prototype
----
-<div>
-<p>{{JSRef}}</p>
-
-<p><code><strong>Error.prototype</strong></code> 属性代表 {{jsxref("Error")}} 的构造器。</p>
-
-<p>{{js_property_attributes(0, 0, 0)}}</p>
-</div>
-
-<h2 id="Description" name="Description">描述</h2>
-
-<p>所有 {{jsxref("Global_Objects/Error", "Error")}} 与 {{jsxref("Global_Objects/Error", "非标准Error", "#Error_types", 1)}} 的实例都继承自 <code>Error.prototype。同所有构造器函数一样,你可以在构造器的 </code>prototype 上添加属性或者方法,使其在所有该构造器的实例上生效。</p>
-
-<h2 id="Properties" name="Properties">属性</h2>
-
-<h3 id="Standard_properties" name="Standard_properties">标准属性</h3>
-
-<dl>
- <dt><code>Error.prototype.constructor</code></dt>
- <dd>实例原型的构造函数。</dd>
- <dt>{{jsxref("Error.prototype.message")}}</dt>
- <dd>错误信息。</dd>
- <dt>{{jsxref("Error.prototype.name")}}</dt>
- <dd>错误名。</dd>
-</dl>
-
-<h3 id="Vendor-specific_extensions" name="Vendor-specific_extensions">厂商特定扩展属性</h3>
-
-<div>{{non-standard_header}}</div>
-
-<h4 id="Microsoft" name="Microsoft">Microsoft</h4>
-
-<dl>
- <dt>{{jsxref("Error.prototype.description")}}</dt>
- <dd>错误描述,与 {{jsxref("Error.prototype.message", "message")}} 相似。</dd>
- <dt>{{jsxref("Error.prototype.number")}}</dt>
- <dd>错误码。</dd>
-</dl>
-
-<h4 id="Mozilla" name="Mozilla">Mozilla</h4>
-
-<dl>
- <dt>{{jsxref("Error.prototype.fileName")}}</dt>
- <dd>产生该错误的文件名。</dd>
- <dt>{{jsxref("Error.prototype.lineNumber")}}</dt>
- <dd>产生该错误的行号。</dd>
- <dt>{{jsxref("Error.prototype.columnNumber")}}</dt>
- <dd>产生该错误的列号。</dd>
- <dt>{{jsxref("Error.prototype.stack")}}</dt>
- <dd>错误堆栈。</dd>
-</dl>
-
-<h2 id="Methods" name="Methods">方法</h2>
-
-<dl>
- <dt>{{jsxref("Error.prototype.toSource()")}} {{non-standard_inline}}</dt>
- <dd>返回一个包含特定 {{jsxref("Error")}} 对象的源代码字符串,你可以用该值新建一个新的对象,重写自 {{jsxref("Object.prototype.toSource()")}} 方法。</dd>
- <dt>{{jsxref("Error.prototype.toString()")}}</dt>
- <dd>返回一个表示该对象的字符串,重写自 {{jsxref("Object.prototype.toString()")}} 方法。</dd>
-</dl>
-
-<h2 id="规范">规范</h2>
-
-<table class="standard-table">
- <tbody>
- <tr>
- <th scope="col">规范版本</th>
- <th scope="col">状态</th>
- <th scope="col">注解</th>
- </tr>
- <tr>
- <td>{{SpecName('ES1')}}</td>
- <td>{{Spec2('ES1')}}</td>
- <td>Initial definition. Implemented in JavaScript 1.1.</td>
- </tr>
- <tr>
- <td>{{SpecName('ES5.1', '#sec-15.11.3.1', 'Error')}}</td>
- <td>{{Spec2('ES5.1')}}</td>
- <td> </td>
- </tr>
- <tr>
- <td>{{SpecName('ES6', '#sec-error.prototype', 'Error')}}</td>
- <td>{{Spec2('ES6')}}</td>
- <td> </td>
- </tr>
- <tr>
- <td>{{SpecName('ESDraft', '#sec-error.prototype', 'Error')}}</td>
- <td>{{Spec2('ESDraft')}}</td>
- <td> </td>
- </tr>
- </tbody>
-</table>
-
-<h2 id="浏览器兼容性">浏览器兼容性</h2>
-
-<div>{{CompatibilityTable}}</div>
-
-<div id="compat-desktop">
-<table class="compat-table">
- <tbody>
- <tr>
- <th>Feature</th>
- <th>Chrome</th>
- <th>Firefox (Gecko)</th>
- <th>Internet Explorer</th>
- <th>Opera</th>
- <th>Safari</th>
- </tr>
- <tr>
- <td>Basic support</td>
- <td>{{CompatVersionUnknown}}</td>
- <td>{{CompatVersionUnknown}}</td>
- <td>{{CompatVersionUnknown}}</td>
- <td>{{CompatVersionUnknown}}</td>
- <td>{{CompatVersionUnknown}}</td>
- </tr>
- </tbody>
-</table>
-</div>
-
-<div id="compat-mobile">
-<table class="compat-table">
- <tbody>
- <tr>
- <th>Feature</th>
- <th>Android</th>
- <th>Chrome for Android</th>
- <th>Firefox Mobile (Gecko)</th>
- <th>IE Mobile</th>
- <th>Opera Mobile</th>
- <th>Safari Mobile</th>
- </tr>
- <tr>
- <td>Basic support</td>
- <td>{{CompatVersionUnknown}}</td>
- <td>{{CompatVersionUnknown}}</td>
- <td>{{CompatVersionUnknown}}</td>
- <td>{{CompatVersionUnknown}}</td>
- <td>{{CompatVersionUnknown}}</td>
- <td>{{CompatVersionUnknown}}</td>
- </tr>
- </tbody>
-</table>
-</div>
-
-<h2 id="See_also" name="See_also">参见</h2>
-
-<ul>
- <li>{{jsxref("Error")}}</li>
- <li>{{jsxref("Object.prototype")}}</li>
-</ul>
diff --git a/files/zh-cn/web/javascript/reference/global_objects/evalerror/prototype/index.html b/files/zh-cn/web/javascript/reference/global_objects/evalerror/prototype/index.html
deleted file mode 100644
index b68caa1f3f..0000000000
--- a/files/zh-cn/web/javascript/reference/global_objects/evalerror/prototype/index.html
+++ /dev/null
@@ -1,85 +0,0 @@
----
-title: EvalError.prototype
-slug: Web/JavaScript/Reference/Global_Objects/EvalError/prototype
-translation_of: Web/JavaScript/Reference/Global_Objects/EvalError
-translation_of_original: Web/JavaScript/Reference/Global_Objects/EvalError/prototype
----
-<div>{{JSRef}}</div>
-
-<p><code><strong>EvalError.prototype</strong></code> 属性是 {{jsxref("EvalError")}} 原型构造函数.</p>
-
-<div>{{js_property_attributes(0, 0, 0)}}</div>
-
-<h2 id="Description">Description</h2>
-
-<p>{{jsxref("EvalError")}} 全部实例都继承自<code>EvalError.prototype</code>. 你可以通过prototype去添加方法和属性.</p>
-
-<h2 id="Properties">Properties</h2>
-
-<dl>
- <dt><code>EvalError.prototype.constructor</code></dt>
- <dd>指定创建实例原型的函数.</dd>
- <dt>{{jsxref("Error.prototype.message", "EvalError.prototype.message")}}</dt>
- <dd>错误信息. 从 ECMA-262 开始 {{jsxref("EvalError")}} 提供 <code>message</code> (继承自{{jsxref("Error.prototype.message")}})属性, 详见 <a href="/en-US/docs/Mozilla/Projects/SpiderMonkey">SpiderMonkey</a>.</dd>
- <dt>{{jsxref("Error.prototype.name", "EvalError.prototype.name")}}</dt>
- <dd>错误名称.继承自 {{jsxref("Error")}}.</dd>
- <dt>{{jsxref("Error.prototype.fileName", "EvalError.prototype.fileName")}}</dt>
- <dd>引发错误的文件路径. 继承自 {{jsxref("Error")}}.</dd>
- <dt>{{jsxref("Error.prototype.lineNumber", "EvalError.prototype.lineNumber")}}</dt>
- <dd>引发错误所在行.继承自 {{jsxref("Error")}}.</dd>
- <dt>{{jsxref("Error.prototype.columnNumber", "EvalError.prototype.columnNumber")}}</dt>
- <dd>引发错误所在的列. 继承自{{jsxref("Error")}}.</dd>
- <dt>{{jsxref("Error.prototype.stack", "EvalError.prototype.stack")}}</dt>
- <dd>堆栈.继承自 {{jsxref("Error")}}.</dd>
-</dl>
-
-<h2 id="Methods">Methods</h2>
-
-<p>虽然 {{jsxref("EvalError")}} 自己的属性方法较少, 但是通过原型链继承了很多有用的方法.</p>
-
-<h2 id="Specifications">Specifications</h2>
-
-<table class="standard-table">
- <tbody>
- <tr>
- <th scope="col">Specification</th>
- <th scope="col">Status</th>
- <th scope="col">Comment</th>
- </tr>
- <tr>
- <td>{{SpecName('ES3')}}</td>
- <td>{{Spec2('ES3')}}</td>
- <td>初代.</td>
- </tr>
- <tr>
- <td>{{SpecName('ES5.1', '#sec-15.11.7.6', 'NativeError.prototype')}}</td>
- <td>{{Spec2('ES5.1')}}</td>
- <td>定义为<code><em>NativeError</em>.prototype</code>.</td>
- </tr>
- <tr>
- <td>{{SpecName('ES6', '#sec-nativeerror.prototype', 'NativeError.prototype')}}</td>
- <td>{{Spec2('ES6')}}</td>
- <td>定义为<code><em>NativeError</em>.prototype</code>.</td>
- </tr>
- <tr>
- <td>{{SpecName('ESDraft', '#sec-nativeerror.prototype', 'NativeError.prototype')}}</td>
- <td>{{Spec2('ESDraft')}}</td>
- <td>定义为<code><em>NativeError</em>.prototype</code>.</td>
- </tr>
- </tbody>
-</table>
-
-<h2 id="Browser_compatibility">Browser compatibility</h2>
-
-<div>
-
-
-<p>{{Compat("javascript.builtins.EvalError")}}</p>
-</div>
-
-<h2 id="See_also">See also</h2>
-
-<ul>
- <li>{{jsxref("Error.prototype")}}</li>
- <li>{{jsxref("Function.prototype")}}</li>
-</ul>
diff --git a/files/zh-cn/web/javascript/reference/global_objects/function/prototype/index.html b/files/zh-cn/web/javascript/reference/global_objects/function/prototype/index.html
deleted file mode 100644
index a745753511..0000000000
--- a/files/zh-cn/web/javascript/reference/global_objects/function/prototype/index.html
+++ /dev/null
@@ -1,139 +0,0 @@
----
-title: Function.prototype
-slug: Web/JavaScript/Reference/Global_Objects/Function/prototype
-tags:
- - JavaScript
- - 函数
- - 原型
- - 原型属性
-translation_of: Web/JavaScript/Reference/Global_Objects/Function
-translation_of_original: Web/JavaScript/Reference/Global_Objects/Function/prototype
----
-<div>{{JSRef}}</div>
-
-<p><code><strong>Function.prototype</strong></code> 属性存储了 {{jsxref("Function")}} 的原型对象。</p>
-
-<h2 id="Description" name="Description">描述</h2>
-
-<p>{{jsxref("Function")}}<code>对象继承自 Function.prototype 属性</code><code>。因此,Function.prototype</code> 不能被修改。</p>
-
-<h2 id="属性">属性</h2>
-
-<dl>
- <dt>{{jsxref("Function.arguments")}} {{deprecated_inline()}}</dt>
- <dd>以数组形式获取传入函数的所有参数。此属性已被{{jsxref("Functions_and_function_scope/arguments", "arguments")}}替代。</dd>
- <dt><s class="obsoleteElement">{{jsxref("Function.arity")}} {{obsolete_inline() }}</s></dt>
- <dd><s class="obsoleteElement">用于指定的函数的参数的个数,但已被删除。使用{{jsxref("Function.length","length")}}属性代替。</s></dd>
- <dt>{{jsxref("Function.caller")}} {{ Non-standard_inline() }}</dt>
- <dd>获取调用函数的具体对象。</dd>
- <dt>{{jsxref("Function.length")}}</dt>
- <dd>获取函数的接收参数个数。</dd>
- <dt>{{jsxref("Function.name")}} {{ Non-standard_inline() }}</dt>
- <dd>获取函数的名称。</dd>
- <dt>{{jsxref("Function.displayName")}} {{ Non-standard_inline() }}</dt>
- <dd>获取函数的display name。</dd>
- <dt><code>Function.prototype.constructor</code></dt>
- <dd>声明函数的原型构造方法,详细请参考 {{jsxref("Object.constructor")}} 。</dd>
-</dl>
-
-<h2 id="方法">方法</h2>
-
-<dl>
- <dt>{{jsxref("Function.prototype.apply()")}}</dt>
- <dd>在一个对象的上下文中应用另一个对象的方法;参数能够以数组形式传入。</dd>
- <dt>{{jsxref("Function.prototype.bind()")}}</dt>
- <dd><span style="font-family: courier new,andale mono,monospace; line-height: 1.5;">bind()</span>方法会创建一个新函数,称为绑定函数.当调用这个绑定函数时,绑定函数会以创建它时传入 <span style="font-family: courier new,andale mono,monospace;">bind()</span>方法的第一个参数作为 <span style="font-family: courier new,andale mono,monospace;">this</span>,传入 <span style="font-family: courier new,andale mono,monospace;">bind()</span>方法的第二个以及以后的参数加上绑定函数运行时本身的参数按照顺序作为原函数的参数来调用原函数.</dd>
- <dt>{{jsxref("Function.prototype.call()")}}</dt>
- <dd>在一个对象的上下文中应用另一个对象的方法;参数能够以列表形式传入。</dd>
- <dt>{{jsxref("Function.prototype.isGenerator()")}} {{ Non-standard_inline() }}</dt>
- <dd><code>若函数对象为</code><a href="/zh-CN/docs/Web/JavaScript/Guide/Iterators_and_Generators">generator</a>,返回true,反之返回 <code>false</code>。</dd>
- <dt>{{jsxref("Function.prototype.toSource()")}} {{ Non-standard_inline() }}</dt>
- <dd>获取函数的实现源码的字符串。 覆盖了 {{jsxref("Object.prototype.toSource")}} 方法。</dd>
- <dt>{{jsxref("Function.prototype.toString()")}}</dt>
- <dd>获取函数的实现源码的字符串。覆盖了 {{jsxref("Object.prototype.toString")}} 方法。</dd>
-</dl>
-
-<h2 id="规范">规范</h2>
-
-<table class="standard-table">
- <tbody>
- <tr>
- <th scope="col">规范</th>
- <th scope="col">状态</th>
- <th scope="col">说明</th>
- </tr>
- <tr>
- <td>{{SpecName('ES1')}}</td>
- <td>{{Spec2('ES1')}}</td>
- <td>Initial definition.Implemented in JavaScript 1.1</td>
- </tr>
- <tr>
- <td>{{SpecName('ES5.1', '#sec-15.3.5.2', 'Function.prototype')}}</td>
- <td>{{Spec2('ES5.1')}}</td>
- <td> </td>
- </tr>
- <tr>
- <td>{{SpecName('ES6', '#sec-function-instances-prototype', 'Function.prototype')}}</td>
- <td>{{Spec2('ES6')}}</td>
- <td> </td>
- </tr>
- </tbody>
-</table>
-
-<h2 id="浏览器兼容性">浏览器兼容性</h2>
-
-<p>{{ CompatibilityTable() }}</p>
-
-<div id="compat-desktop">
-<table class="compat-table">
- <tbody>
- <tr>
- <th>Feature</th>
- <th>Chrome</th>
- <th>Firefox (Gecko)</th>
- <th>Internet Explorer</th>
- <th>Opera</th>
- <th>Safari</th>
- </tr>
- <tr>
- <td>Basic support</td>
- <td>{{ CompatVersionUnknown() }}</td>
- <td>{{ CompatVersionUnknown() }}</td>
- <td>{{ CompatVersionUnknown() }}</td>
- <td>{{ CompatVersionUnknown() }}</td>
- <td>{{ CompatVersionUnknown() }}</td>
- </tr>
- </tbody>
-</table>
-</div>
-
-<div id="compat-mobile">
-<table class="compat-table">
- <tbody>
- <tr>
- <th>Feature</th>
- <th>Android</th>
- <th>Chrome for Android</th>
- <th>Firefox Mobile (Gecko)</th>
- <th>IE Mobile</th>
- <th>Opera Mobile</th>
- <th>Safari Mobile</th>
- </tr>
- <tr>
- <td>Basic support</td>
- <td>{{ CompatVersionUnknown() }}</td>
- <td>{{ CompatVersionUnknown() }}</td>
- <td>{{ CompatVersionUnknown() }}</td>
- <td>{{ CompatVersionUnknown() }}</td>
- <td>{{ CompatVersionUnknown() }}</td>
- <td>{{ CompatVersionUnknown() }}</td>
- </tr>
- </tbody>
-</table>
-</div>
-
-<h2 id="参考">参考</h2>
-
-<ul>
- <li>{{jsxref("Function")}}</li>
-</ul>
diff --git a/files/zh-cn/web/javascript/reference/global_objects/generatorfunction/prototype/index.html b/files/zh-cn/web/javascript/reference/global_objects/generatorfunction/prototype/index.html
deleted file mode 100644
index 0f7179b3f5..0000000000
--- a/files/zh-cn/web/javascript/reference/global_objects/generatorfunction/prototype/index.html
+++ /dev/null
@@ -1,65 +0,0 @@
----
-title: GeneratorFunction.prototype
-slug: Web/JavaScript/Reference/Global_Objects/GeneratorFunction/prototype
-tags:
- - ECMAScript 2015
- - GeneratorFunction
- - Iterator
- - JavaScript
- - Property
- - Prototype
- - Reference
-translation_of: Web/JavaScript/Reference/Global_Objects/GeneratorFunction
-translation_of_original: Web/JavaScript/Reference/Global_Objects/GeneratorFunction/prototype
----
-<div>{{JSRef}}</div>
-
-<p><code><strong>GeneratorFunction.prototype</strong></code>属性是{{jsxref("GeneratorFunction")}}的原型对象。</p>
-
-<h2 id="Description" name="Description">描述</h2>
-
-<p>{{jsxref("GeneratorFunction")}} 的实例对象都继承于 <code>GeneratorFunction.prototype</code>. <code>GeneratorFunction.prototype</code> 不能被修改。</p>
-
-<h2 id="Properties" name="Properties">属性</h2>
-
-<dl>
- <dt><code><strong>GeneratorFunction.constructor</strong></code></dt>
- <dd>初始值是 {{jsxref("GeneratorFunction")}}.</dd>
- <dt><code><strong>GeneratorFunction.prototype.prototype</strong></code></dt>
- <dd>值是 <code>%GeneratorPrototype%</code>.</dd>
-</dl>
-
-<h2 id="规范">规范</h2>
-
-<table class="standard-table">
- <tbody>
- <tr>
- <th scope="col">Specification</th>
- <th scope="col">Status</th>
- <th scope="col">Comment</th>
- </tr>
- <tr>
- <td>{{SpecName('ES2015', '#sec-generatorfunction.prototype', 'GeneratorFunction.prototype')}}</td>
- <td>{{Spec2('ES2015')}}</td>
- <td>Initial definition.</td>
- </tr>
- <tr>
- <td>{{SpecName('ESDraft', '#sec-generatorfunction.prototype', 'GeneratorFunction.prototype')}}</td>
- <td>{{Spec2('ESDraft')}}</td>
- <td> </td>
- </tr>
- </tbody>
-</table>
-
-<h2 id="浏览器兼容">浏览器兼容</h2>
-
-<div class="hidden">The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> and send us a pull request.</div>
-
-<p>{{Compat("javascript.builtins.GeneratorFunction.prototype")}}</p>
-
-<h2 id="相关链接">相关链接</h2>
-
-<ul>
- <li>{{jsxref("GeneratorFunction")}}</li>
- <li>{{jsxref("Function")}}</li>
-</ul>
diff --git a/files/zh-cn/web/javascript/reference/global_objects/intl/datetimeformat/prototype/index.html b/files/zh-cn/web/javascript/reference/global_objects/intl/datetimeformat/prototype/index.html
deleted file mode 100644
index f74e8f9cf5..0000000000
--- a/files/zh-cn/web/javascript/reference/global_objects/intl/datetimeformat/prototype/index.html
+++ /dev/null
@@ -1,120 +0,0 @@
----
-title: Intl.DateTimeFormat.prototype
-slug: Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat/prototype
-translation_of: Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat
-translation_of_original: Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat/prototype
----
-<div>{{JSRef}}</div>
-
-<p><strong><code>Intl.DateTimeFormat.prototype</code></strong>表示 {{jsxref("DateTimeFormat", "Intl.DateTimeFormat")}}构造函数的原型对象。</p>
-
-<p>{{js_property_attributes(0, 0, 0)}} </p>
-
-<h2 id="描述">描述</h2>
-
-<p>参见 {{jsxref("DateTimeFormat")}}来看<code>Intl.DateTimeFormat实例的一个描述。</code></p>
-
-<p>{{jsxref("DateTimeFormat", "Intl.DateTimeFormat")}} 实例继承自<code>Intl.DateTimeFormat.prototype</code>. 对原型对象的修改都继承自{{jsxref("DateTimeFormat", "Intl.DateTimeFormat")}}实例。</p>
-
-<h2 id="属性">属性</h2>
-
-<dl>
- <dt><code>Intl.DateTimeFormat.prototype.constructor</code></dt>
- <dd>请参考 {{jsxref("DateTimeFormat", "Intl.DateTimeFormat")}}.</dd>
- <dt>{{jsxref("DateTimeFormat.format", "Intl.DateTimeFormat.prototype.format")}}</dt>
- <dd>Getter; 返回一个{{jsxref("DateTimeFormat", "DateTimeFormat")}}对象的根据locale和格式化参数格式化日期的函数。</dd>
-</dl>
-
-<h2 id="方法">方法</h2>
-
-<dl>
- <dt>{{jsxref("DateTimeFormat.formatToParts", "Intl.DateTimeFormat.prototype.formatToParts()")}}</dt>
- <dd>Returns an {{jsxref("Array")}} of objects representing the date string in parts that can be used for custom locale-aware formatting.</dd>
- <dt>{{jsxref("DateTimeFormat.resolvedOptions", "Intl.DateTimeFormat.prototype.resolvedOptions()")}}</dt>
- <dd>返回一个新的属性对象,反射出在对象初始化过程中计算出的locale和options的各个值。</dd>
-</dl>
-
-<h2 id="规范">规范</h2>
-
-<table class="standard-table">
- <tbody>
- <tr>
- <th scope="col">规范版本</th>
- <th scope="col">规范状态</th>
- <th scope="col">注解</th>
- </tr>
- <tr>
- <td>{{SpecName('ES Int 1.0', '#sec-12.2.1', 'Intl.DateTimeFormat.prototype')}}</td>
- <td>{{Spec2('ES Int 1.0')}}</td>
- <td>初始定义</td>
- </tr>
- <tr>
- <td>{{SpecName('ES Int 2.0', '#sec-12.2.1', 'Intl.DateTimeFormat.prototype')}}</td>
- <td>{{Spec2('ES Int 2.0')}}</td>
- <td> </td>
- </tr>
- <tr>
- <td>{{SpecName('ES Int Draft', '#sec-Intl.DateTimeFormat.prototype', 'Intl.DateTimeFormat.prototype')}}</td>
- <td>{{Spec2('ES Int Draft')}}</td>
- <td> </td>
- </tr>
- </tbody>
-</table>
-
-<h2 id="浏览器兼容性">浏览器兼容性</h2>
-
-<div>{{CompatibilityTable}}</div>
-
-<div id="compat-desktop">
-<table class="compat-table">
- <tbody>
- <tr>
- <th>Feature</th>
- <th>Chrome</th>
- <th>Firefox (Gecko)</th>
- <th>Internet Explorer</th>
- <th>Opera</th>
- <th>Safari (WebKit)</th>
- </tr>
- <tr>
- <td>Basic support</td>
- <td>{{CompatChrome("24")}}</td>
- <td>{{CompatGeckoDesktop("29")}}</td>
- <td>{{CompatIE("11")}}</td>
- <td>{{CompatOpera("15")}}</td>
- <td>{{CompatNo}}</td>
- </tr>
- </tbody>
-</table>
-</div>
-
-<div id="compat-mobile">
-<table class="compat-table">
- <tbody>
- <tr>
- <th>Feature</th>
- <th>Android</th>
- <th>Chrome for Android</th>
- <th>Firefox Mobile (Gecko)</th>
- <th>IE Phone</th>
- <th>Opera Mobile</th>
- <th>Safari Mobile</th>
- </tr>
- <tr>
- <td>Basic support</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatChrome("26")}}</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatNo}}</td>
- </tr>
- </tbody>
-</table>
-</div>
-
-<h2 id="参见">参见</h2>
-
-<ul>
- <li>{{jsxref("DateTimeFormat", "Intl.DateTimeFormat")}}</li>
-</ul>
diff --git a/files/zh-cn/web/javascript/reference/global_objects/map/prototype/index.html b/files/zh-cn/web/javascript/reference/global_objects/map/prototype/index.html
deleted file mode 100644
index d98bdfac5a..0000000000
--- a/files/zh-cn/web/javascript/reference/global_objects/map/prototype/index.html
+++ /dev/null
@@ -1,131 +0,0 @@
----
-title: Map.prototype
-slug: Web/JavaScript/Reference/Global_Objects/Map/prototype
-translation_of: Web/JavaScript/Reference/Global_Objects/Map
-translation_of_original: Web/JavaScript/Reference/Global_Objects/Map/prototype
----
-<div>{{JSRef}}</div>
-
-<p><code><strong>Map</strong></code><strong><code>.prototype</code></strong> 属性表示 {{jsxref("Map")}}构造函数的原型对象。</p>
-
-<div>{{js_property_attributes(0,0,0)}}</div>
-
-<h2 id="描述">描述</h2>
-
-<p>{{jsxref("Map")}} 实例继承自{{jsxref("Map.prototype")}}。你可以使用这个构造函数的原型对象来给所有的Map实例添加属性或者方法。</p>
-
-<h2 id="属性">属性</h2>
-
-<dl>
- <dt><code>Map.prototype.constructor</code></dt>
- <dd>返回一个函数,它创建了实例的原型。默认是{{jsxref("Map")}}函数。</dd>
- <dt>{{jsxref("Map.prototype.size")}}</dt>
- <dd>返回Map对象的键/值对的数量。</dd>
-</dl>
-
-<h2 id="方法">方法</h2>
-
-<dl>
- <dt>{{jsxref("Map.prototype.clear()")}}</dt>
- <dd>移除Map对象的所有键/值对 。</dd>
- <dt>{{jsxref("Map.delete", "Map.prototype.delete(key)")}}</dt>
- <dd>如果 <code>Map</code> 对象中存在该元素,则移除它并返回<em> <code>true</code></em>;否则如果该元素不存在则返回 <code><em>false</em></code>。随后调用 <code>Map.prototype.has(key)</code> 将返回 <code>false</code> 。</dd>
- <dt>{{jsxref("Map.prototype.entries()")}}</dt>
- <dd>返回一个新的 <code>Iterator</code> 对象,它按插入顺序包含了Map对象中每个元素的 <strong><code>[key, value]</code></strong> <code><strong>数组</strong></code>。</dd>
- <dt>{{jsxref("Map.forEach", "Map.prototype.forEach(callbackFn[, thisArg])")}}</dt>
- <dd>按插入顺序,为 <code>Map</code>对象里的每一键值对调用一次callbackFn函数。如果为forEach提供了thisArg,它将在每次回调中作为this值。</dd>
- <dt>{{jsxref("Map.get", "Map.prototype.get(key)")}}</dt>
- <dd>返回键对应的值,如果不存在,则返回undefined。</dd>
- <dt>{{jsxref("Map.has", "Map.prototype.has(key)")}}</dt>
- <dd>返回一个布尔值,表示Map实例是否包含键对应的值。</dd>
- <dt>{{jsxref("Map.prototype.keys()")}}</dt>
- <dd>返回一个新的 <code>Iterator</code>对象, 它按插入顺序包含了Map对象中每个元素的<strong>键 </strong>。</dd>
- <dt>{{jsxref("Map.set", "Map.prototype.set(key, value)")}}</dt>
- <dd>设置Map对象中键的值。返回该Map对象。</dd>
- <dt>{{jsxref("Map.prototype.values()")}}</dt>
- <dd>返回一个新的<code>Iterator</code>对象,它按插入顺序包含了Map对象中每个元素的<strong>值</strong> 。</dd>
- <dt>{{jsxref("Map.@@iterator", "Map.prototype[@@iterator]()")}}</dt>
- <dd>返回一个新的<code>Iterator</code>对象,它按插入顺序包含了Map对象中每个元素的 <strong><code>[key, value]</code></strong> <code><strong>数组</strong></code>。</dd>
-</dl>
-
-<h2 id="规范">规范</h2>
-
-<table class="standard-table">
- <tbody>
- <tr>
- <th scope="col">Specification</th>
- <th scope="col">Status</th>
- <th scope="col">Comment</th>
- </tr>
- <tr>
- <td>{{SpecName('ES6', '#sec-map.prototype', 'Map.prototype')}}</td>
- <td>{{Spec2('ES6')}}</td>
- <td>Initial definition.</td>
- </tr>
- <tr>
- <td>{{SpecName('ESDraft', '#sec-map.prototype', 'Map.prototype')}}</td>
- <td>{{Spec2('ESDraft')}}</td>
- <td></td>
- </tr>
- </tbody>
-</table>
-
-<h2 id="浏览器兼容性">浏览器兼容性</h2>
-
-<p>{{CompatibilityTable}}</p>
-
-<div id="compat-desktop">
-<table class="compat-table">
- <tbody>
- <tr>
- <th>Feature</th>
- <th>Chrome</th>
- <th>Firefox (Gecko)</th>
- <th>Internet Explorer</th>
- <th>Opera</th>
- <th>Safari</th>
- </tr>
- <tr>
- <td>Basic support</td>
- <td>38</td>
- <td>{{ CompatGeckoDesktop("13") }}</td>
- <td>11</td>
- <td>25</td>
- <td>7.1</td>
- </tr>
- </tbody>
-</table>
-</div>
-
-<div id="compat-mobile">
-<table class="compat-table">
- <tbody>
- <tr>
- <th>Feature</th>
- <th>Android</th>
- <th>Chrome for Android</th>
- <th>Firefox Mobile (Gecko)</th>
- <th>IE Mobile</th>
- <th>Opera Mobile</th>
- <th>Safari Mobile</th>
- </tr>
- <tr>
- <td>Basic support</td>
- <td>{{CompatNo}}</td>
- <td>38</td>
- <td>{{CompatGeckoMobile("13")}}</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatNo}}</td>
- <td>
- <p>8</p>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-
-<h2 id="相关链接">相关链接</h2>
-
-<ul>
- <li>{{jsxref("Set.prototype")}}</li>
-</ul>
diff --git a/files/zh-cn/web/javascript/reference/global_objects/math/反双曲余弦值/index.html b/files/zh-cn/web/javascript/reference/global_objects/math/acosh/index.html
index 7869661836..7869661836 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/math/反双曲余弦值/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/math/acosh/index.html
diff --git a/files/zh-cn/web/javascript/reference/global_objects/number/prototype/index.html b/files/zh-cn/web/javascript/reference/global_objects/number/prototype/index.html
deleted file mode 100644
index 3abe34b74b..0000000000
--- a/files/zh-cn/web/javascript/reference/global_objects/number/prototype/index.html
+++ /dev/null
@@ -1,132 +0,0 @@
----
-title: Number.prototype
-slug: Web/JavaScript/Reference/Global_Objects/Number/prototype
-translation_of: Web/JavaScript/Reference/Global_Objects/Number
-translation_of_original: Web/JavaScript/Reference/Global_Objects/Number/prototype
----
-<div>
- {{JSRef("Global_Objects", "Number")}}</div>
-<h2 id="Summary" name="Summary">概述</h2>
-<p><strong><code>Number.prototype</code></strong> 属性表示 {{jsxref("Global_Objects/Number", "Number")}} 构造函数的原型。</p>
-<div>
- {{js_property_attributes(0,0,0)}}</div>
-<h2 id="Description" name="Description">描述</h2>
-<p>所有 <code>Number</code> 实例都继承自 <code>Number.prototype</code>。修改 {{jsxref("Global_Objects/Number", "Number")}} 构造函数的原型对象会影响到所有 <code>Number</code> 实例。.</p>
-<h2 id="属性">属性</h2>
-<dl>
- <dt>
- constructor</dt>
- <dd>
- 返回创建该实例对象的构造函数。默认为 {{jsxref("Global_Objects/Number", "Number")}} 对象。</dd>
-</dl>
-<div>
- {{ jsOverrides("Object", "properties", "constructor") }}</div>
-<h2 id="方法">方法</h2>
-<dl>
- <dt>
- {{jsxref("Number.prototype.toExponential()")}}</dt>
- <dd>
- 返回一个使用指数表示法表示的该数值的字符串表示。</dd>
- <dt>
- {{jsxref("Number.prototype.toFixed()")}}</dt>
- <dd>
- 返回一个使用定点表示法表示的该数值的字符串表示。</dd>
- <dt>
- {{jsxref("Number.prototype.toLocaleString()")}}</dt>
- <dd>
- 返回一个与语言相关的该数值对象的字符串表示。覆盖了{{jsxref("Object.prototype.toLocaleString()")}} 方法。</dd>
- <dt>
- {{jsxref("Number.prototype.toPrecision()")}}</dt>
- <dd>
- 使用定点表示法或指数表示法来表示的指定显示位数的该数值对象的字符串表示。</dd>
- <dt>
- {{jsxref("Number.prototype.toSource()")}} {{ Non-standard_inline() }}</dt>
- <dd>
- Returns an object literal representing the specified Number object; you can use this value to create a new object. Overrides the {{jsxref("Object.prototype.toSource()")}} method.</dd>
- <dt>
- {{jsxref("Number.prototype.toString()")}}</dt>
- <dd>
- 返回一个表示该数值对象的字符串。覆盖了 {{jsxref("Object.prototype.toString()")}} 方法。</dd>
- <dt>
- {{jsxref("Number.prototype.valueOf()")}}</dt>
- <dd>
- 返回该数值对象的原始值。覆盖了 {{jsxref("Object.prototype.valueOf()")}} 方法。</dd>
-</dl>
-<div>
- {{ jsOverrides("Object", "methods", "toExponential", "toFixed", "toLocaleString", "toPrecision", "toSource", "toString", "valueOf") }}</div>
-<div>
-  </div>
-<h2 id="规范">规范</h2>
-<table class="standard-table">
- <tbody>
- <tr>
- <th scope="col">规范版本</th>
- <th scope="col">规范状态</th>
- <th scope="col">注解</th>
- </tr>
- <tr>
- <td>ECMAScript 1st Edition. Implemented in JavaScript 1.1</td>
- <td>Standard</td>
- <td>Initial definition.</td>
- </tr>
- <tr>
- <td>{{SpecName('ES5.1', '#sec-15.7.4', 'Number')}}</td>
- <td>{{Spec2('ES5.1')}}</td>
- <td> </td>
- </tr>
- <tr>
- <td>{{SpecName('ES6', '#sec-properties-of-the-number-prototype-object', 'Number')}}</td>
- <td>{{Spec2('ES6')}}</td>
- <td> </td>
- </tr>
- </tbody>
-</table>
-<h2 id="浏览器兼容性">浏览器兼容性</h2>
-<p>{{ CompatibilityTable() }}</p>
-<div id="compat-desktop">
- <table class="compat-table">
- <tbody>
- <tr>
- <th>Feature</th>
- <th>Chrome</th>
- <th>Firefox (Gecko)</th>
- <th>Internet Explorer</th>
- <th>Opera</th>
- <th>Safari</th>
- </tr>
- <tr>
- <td>Basic support</td>
- <td>{{ CompatVersionUnknown() }}</td>
- <td>{{ CompatVersionUnknown() }}</td>
- <td>{{ CompatVersionUnknown() }}</td>
- <td>{{ CompatVersionUnknown() }}</td>
- <td>{{ CompatVersionUnknown() }}</td>
- </tr>
- </tbody>
- </table>
-</div>
-<div id="compat-mobile">
- <table class="compat-table">
- <tbody>
- <tr>
- <th>Feature</th>
- <th>Android</th>
- <th>Chrome for Android</th>
- <th>Firefox Mobile (Gecko)</th>
- <th>IE Mobile</th>
- <th>Opera Mobile</th>
- <th>Safari Mobile</th>
- </tr>
- <tr>
- <td>Basic support</td>
- <td>{{ CompatVersionUnknown() }}</td>
- <td>{{ CompatVersionUnknown() }}</td>
- <td>{{ CompatVersionUnknown() }}</td>
- <td>{{ CompatVersionUnknown() }}</td>
- <td>{{ CompatVersionUnknown() }}</td>
- <td>{{ CompatVersionUnknown() }}</td>
- </tr>
- </tbody>
- </table>
-</div>
-<p> </p>
diff --git a/files/zh-cn/web/javascript/reference/global_objects/object/prototype/index.html b/files/zh-cn/web/javascript/reference/global_objects/object/prototype/index.html
deleted file mode 100644
index 4dd70200f0..0000000000
--- a/files/zh-cn/web/javascript/reference/global_objects/object/prototype/index.html
+++ /dev/null
@@ -1,195 +0,0 @@
----
-title: Object.prototype
-slug: Web/JavaScript/Reference/Global_Objects/Object/prototype
-tags:
- - JavaScript
- - Object
- - Property
-translation_of: Web/JavaScript/Reference/Global_Objects/Object
-translation_of_original: Web/JavaScript/Reference/Global_Objects/Object/prototype
----
-<div>{{JSRef}}</div>
-
-<p><code><strong>Object.prototype</strong></code> 属性表示 {{jsxref("Object")}} 的原型对象。</p>
-
-<p>{{js_property_attributes(0, 0, 0)}}</p>
-
-<h2 id="Description" name="Description">描述</h2>
-
-<p>几乎所有的 JavaScript 对象都是 {{jsxref("Object")}} 的实例;一个典型的对象继承了<code>Object.prototype</code>的属性(包括方法),尽管这些属性可能被遮蔽(亦称为覆盖)。但是有时候可能故意创建不具有典型原型链继承的对象,比如通过{{jsxref("Object.create", "Object.create(null)")}}创建的对象,或者通过{{jsxref("Object.setPrototypeOf")}}方法改变原型链。</p>
-
-<p>改变<code>Object</code>原型,会通过原型链改变<strong>所有</strong>对象;除非在原型链中进一步覆盖受这些变化影响的属性和方法。这提供了一个非常强大的、但有潜在危险的机制来覆盖或扩展对象行为。</p>
-
-<h2 id="Properties" name="Properties">属性</h2>
-
-<dl>
- <dt>{{jsxref("Object.prototype.constructor")}}</dt>
- <dd>特定的函数,用于创建一个对象的原型。</dd>
- <dt>{{jsxref("Object.prototype.__proto__")}} {{non-standard_inline}}</dt>
- <dd>指向当对象被实例化的时候,用作原型的对象。</dd>
- <dt>{{jsxref("Object.prototype.__noSuchMethod__")}} {{non-standard_inline}}</dt>
- <dd>当未定义的对象成员被调用作方法的时候,允许定义并执行的函数。</dd>
- <dt><s class="obsoleteElement">{{jsxref("Object.prototype.__count__")}} {{obsolete_inline}}</s></dt>
- <dd><s class="obsoleteElement">用于直接返回用户定义的对象中可数的属性的数量。已被废除。</s></dd>
- <dt><s class="obsoleteElement">{{jsxref("Object.prototype.__parent__")}} {{obsolete_inline}}</s></dt>
- <dd><s class="obsoleteElement">用于指向对象的内容。已被废除。</s></dd>
-</dl>
-
-<h2 id="Methods" name="Methods">方法</h2>
-
-<dl>
- <dt>{{jsxref("Object.prototype.__defineGetter__()")}} {{non-standard_inline}} {{deprecated_inline}}</dt>
- <dd>关联一个函数到一个属性。访问该函数时,执行该函数并返回其返回值。</dd>
- <dt>{{jsxref("Object.prototype.__defineSetter__()")}} {{non-standard_inline}} {{deprecated_inline}}</dt>
- <dd>关联一个函数到一个属性。设置该函数时,执行该修改属性的函数。</dd>
- <dt>{{jsxref("Object.prototype.__lookupGetter__()")}} {{non-standard_inline}} {{deprecated_inline}}</dt>
- <dd>返回使用 {{jsxref("Object.defineGetter", "__defineGetter__")}} 定义的方法函数 。</dd>
- <dt>{{jsxref("Object.prototype.__lookupSetter__()")}} {{non-standard_inline}} {{deprecated_inline}}</dt>
- <dd>返回使用 {{jsxref("Object.defineSetter", "__defineSetter__")}} 定义的方法函数。</dd>
- <dt>{{jsxref("Object.prototype.hasOwnProperty()")}}</dt>
- <dd>返回一个布尔值 ,表示某个对象是否含有指定的属性,而且此属性非原型链继承的。</dd>
- <dt>{{jsxref("Object.prototype.isPrototypeOf()")}}</dt>
- <dd>返回一个布尔值,表示指定的对象是否在本对象的原型链中。</dd>
- <dt>{{jsxref("Object.prototype.propertyIsEnumerable()")}}</dt>
- <dd>判断指定属性是否可枚举,内部属性设置参见 <a href="/zh-CN/docs/Web/JavaScript/Data_structures#Properties">ECMAScript [[Enumerable]] attribute</a> 。</dd>
- <dt>{{jsxref("Object.prototype.toSource()")}} {{non-standard_inline}}</dt>
- <dd>返回字符串表示此对象的源代码形式,可以使用此字符串生成一个新的相同的对象。</dd>
- <dt>{{jsxref("Object.prototype.toLocaleString()")}}</dt>
- <dd>直接调用 {{jsxref("Object.toString", "toString()")}}方法。</dd>
- <dt>{{jsxref("Object.prototype.toString()")}}</dt>
- <dd>返回对象的字符串表示。</dd>
- <dt>{{jsxref("Object.prototype.unwatch()")}} {{non-standard_inline}}</dt>
- <dd>移除对象某个属性的监听。</dd>
- <dt>{{jsxref("Object.prototype.valueOf()")}}</dt>
- <dd>返回指定对象的原始值。</dd>
- <dt>{{jsxref("Object.prototype.watch()")}} {{non-standard_inline}}</dt>
- <dd>给对象的某个属性增加监听。</dd>
- <dt><s class="obsoleteElement">{{jsxref("Object.prototype.eval()")}} {{obsolete_inline}}</s></dt>
- <dd><s class="obsoleteElement">在指定对象为上下文情况下执行javascript字符串代码,已经废弃。</s></dd>
-</dl>
-
-<h2 id="Examples" name="Examples">示例</h2>
-
-<p>当改变现有的 Object.prototype method(方法)的行为时,考虑在现有逻辑之前或之后通过封装你的扩展来注入代码。例如,此(未测试的)代码将在内置逻辑或其他人的扩展执行之前 pre-conditionally(预条件地)执行自定义逻辑。</p>
-
-<p>当一个函数被调用时,调用的参数被保留在类似数组 "变量" 的<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/arguments">参数</a>中。例如, 在调用 "myFn (a、b、c)"时, 在myFn 的主体内的参数将包含 3个类似数组的元素对应于 (a、b、c)。 使用钩子修改原型时,只需通过调用该函数的 apply (),将 this 与参数 (调用状态) 传递给当前行为。这种模式可以用于任何原型,如 Node.prototype、 Function.prototype 等.</p>
-
-<pre class="brush: js">var current = Object.prototype.valueOf;
-
-// 由于我的属性 "-prop-value"是交叉性的, 并不总是
-// 在同一个原型链上,我想要修改 Object.prototype:
-Object.prototype.valueOf = function() {
- if (this.hasOwnProperty('-prop-value')) {
- return this['-prop-value'];
- } else {
- // <code>它看起来不像我的对象之一,因此,让我们退回到</code>
- // <code>默认行为,通过尽可能地复制当前行为来实现.</code>
- // <code>此apply的行为类似于其他语言中的"super"</code>.
- // <code>即使 valueOf() 不带参数, 其他的钩子可能会带有.</code>
- return current.apply(this, arguments);
- }
-}</pre>
-
-<p>由于 JavaScript 并不完全具有子类对象, 所以原型是一种有用的变通方法, 可以使用某些函数的 "基类" 对象来充当对象。例如:</p>
-
-<pre class="brush: js">var Person = function(name) {
- this.name = name;
- this.canTalk = true;
-};
-
-Person.prototype.greet = function() {
- if (this.canTalk) {
- console.log('Hi, I am ' + this.name);
- }
-};
-
-var Employee = function(name, title) {
- Person.call(this, name);
- this.title = title;
-};
-
-Employee.prototype = Object.create(Person.prototype);
-
-Employee.prototype.greet = function() {
- if (this.canTalk) {
- console.log('Hi, I am ' + this.name + ', the ' + this.title);
- }
-};
-
-var Customer = function(name) {
- Person.call(this, name);
-};
-
-Customer.prototype = Object.create(Person.prototype);
-
-var Mime = function(name) {
- Person.call(this, name);
- this.canTalk = false;
-};
-
-Mime.prototype = Object.create(Person.prototype);
-
-var bob = new Employee('Bob', 'Builder');
-var joe = new Customer('Joe');
-var rg = new Employee('Red Green', 'Handyman');
-var mike = new Customer('Mike');
-var mime = new Mime('Mime');
-
-bob.greet();
-// Hi, I am Bob, the Builder
-
-joe.greet();
-// Hi, I am Joe
-
-rg.greet();
-// Hi, I am Red Green, the Handyman
-
-mike.greet();
-// Hi, I am Mike
-
-mime.greet();
-</pre>
-
-<h2 id="Specifications" name="Specifications">规范</h2>
-
-<table class="standard-table">
- <tbody>
- <tr>
- <th scope="col">Specification</th>
- <th scope="col">Status</th>
- <th scope="col">Comment</th>
- </tr>
- <tr>
- <td>{{SpecName('ES1')}}</td>
- <td>{{Spec2('ES1')}}</td>
- <td>Initial definition. Implemented in JavaScript 1.0.</td>
- </tr>
- <tr>
- <td>{{SpecName('ES5.1', '#sec-15.2.3.1', 'Object.prototype')}}</td>
- <td>{{Spec2('ES5.1')}}</td>
- <td></td>
- </tr>
- <tr>
- <td>{{SpecName('ES6', '#sec-object.prototype', 'Object.prototype')}}</td>
- <td>{{Spec2('ES6')}}</td>
- <td></td>
- </tr>
- <tr>
- <td>{{SpecName('ESDraft', '#sec-object.prototype', 'Object.prototype')}}</td>
- <td>{{Spec2('ESDraft')}}</td>
- <td></td>
- </tr>
- </tbody>
-</table>
-
-<h2 id="Browser_compatibility" name="Browser_compatibility">浏览器兼容</h2>
-
-<div class="hidden">The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> and send us a pull request.</div>
-
-<p>{{Compat("javascript.builtins.Object.prototype")}}</p>
-
-<h2 id="相关链接">相关链接</h2>
-
-<ul>
- <li><a href="/zh-CN/docs/Web/JavaScript/Introduction_to_Object-Oriented_JavaScript">Introduction to Object-Oriented JavaScript</a></li>
-</ul>
diff --git a/files/zh-cn/web/javascript/reference/global_objects/promise/prototype/index.html b/files/zh-cn/web/javascript/reference/global_objects/promise/prototype/index.html
deleted file mode 100644
index c9c7dc3f6a..0000000000
--- a/files/zh-cn/web/javascript/reference/global_objects/promise/prototype/index.html
+++ /dev/null
@@ -1,116 +0,0 @@
----
-title: Promise.prototype
-slug: Web/JavaScript/Reference/Global_Objects/Promise/prototype
-translation_of: Web/JavaScript/Reference/Global_Objects/Promise
-translation_of_original: Web/JavaScript/Reference/Global_Objects/Promise/prototype
----
-<div>{{JSRef("Global_Objects", "Promise")}}</div>
-
-<h2 id="Summary" name="Summary">总结</h2>
-
-<p><code><strong>Promise</strong></code><strong><code>.prototype</code></strong> 属性表示 {{jsxref("Promise")}} 构造器的原型.</p>
-
-<div>{{js_property_attributes(0,0,0)}}</div>
-
-<h2 id="Description" name="Description">描述</h2>
-
-<p>{{jsxref("Promise")}} 实例继承自 {{jsxref("Promise.prototype")}}. 你可以在构造器的原型对象添加属性或方法到所有 <code>Promise</code> 实例上.</p>
-
-<h2 id="属性">属性</h2>
-
-<dl>
- <dt><code>Promise.prototype.constructor</code></dt>
- <dd>返回被创建的实例函数.  默认为 {{jsxref("Promise")}} 函数.</dd>
-</dl>
-
-<h2 id="方法">方法</h2>
-
-<dl>
- <dt>{{jsxref("Promise.catch", "Promise.prototype.catch(onRejected)")}}</dt>
- <dd>添加一个拒绝(rejection) 回调到当前 promise, 返回一个新的promise。当这个回调函数被调用,新 promise 将以它的返回值来resolve,否则如果当前promise 进入fulfilled状态,则以当前promise的完成结果作为新promise的完成结果.</dd>
- <dt>{{jsxref("Promise.then", "Promise.prototype.then(onFulfilled, onRejected)")}}</dt>
- <dd>添加解决(fulfillment)和拒绝(rejection)回调到当前 promise, 返回一个新的 promise, 将以回调的返回值来resolve.</dd>
- <dt>{{jsxref("Promise.finally", "Promise.prototype.finally(onFinally)")}}</dt>
- <dd>添加一个事件处理回调于当前promise对象,并且在原promise对象解析完毕后,返回一个新的promise对象。回调会在当前promise运行完毕后被调用,无论当前promise的状态是完成(fulfilled)还是失败(rejected)</dd>
-</dl>
-
-<h2 id="规范">规范</h2>
-
-<table class="standard-table">
- <tbody>
- <tr>
- <th scope="col">Specification</th>
- <th scope="col">Status</th>
- <th scope="col">Comment</th>
- </tr>
- <tr>
- <td>{{SpecName('ES6', '#sec-promise.prototype', 'Promise.prototype')}}</td>
- <td>{{Spec2('ES6')}}</td>
- <td>Initial definition.</td>
- </tr>
- </tbody>
-</table>
-
-<h2 id="浏览器兼容">浏览器兼容</h2>
-
-<p>{{CompatibilityTable}}</p>
-
-<div id="compat-desktop">
-<table class="compat-table">
- <tbody>
- <tr>
- <th>Feature</th>
- <th>Chrome</th>
- <th>Firefox (Gecko)</th>
- <th>Internet Explorer</th>
- <th>Opera</th>
- <th>Safari</th>
- </tr>
- <tr>
- <td>Basic support</td>
- <td>32</td>
- <td>{{CompatGeckoDesktop(24.0)}} as <code>Future</code><br>
- {{CompatGeckoDesktop(25.0)}} as <code>Promise</code> behind a flag[1]<br>
- {{CompatGeckoDesktop(29.0)}} by default</td>
- <td>{{CompatNo}}</td>
- <td>19</td>
- <td>7.1</td>
- </tr>
- </tbody>
-</table>
-</div>
-
-<div id="compat-mobile">
-<table class="compat-table">
- <tbody>
- <tr>
- <th>Feature</th>
- <th>Android</th>
- <th>Firefox Mobile (Gecko)</th>
- <th>IE Mobile</th>
- <th>Opera Mobile</th>
- <th>Safari Mobile</th>
- <th>Chrome for Android</th>
- </tr>
- <tr>
- <td>Basic support</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatGeckoMobile(24.0)}} as <code>Future</code><br>
- {{CompatGeckoMobile(25.0)}} as <code>Promise</code> behind a flag[1]<br>
- {{CompatGeckoMobile(29.0)}} by default</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatNo}}</td>
- <td>iOS 8</td>
- <td>32</td>
- </tr>
- </tbody>
-</table>
-</div>
-
-<p>[1] Gecko 24 has an experimental implementation of <code>Promise</code>, under the initial name of <code>Future</code>. It got renamed to its final name in Gecko 25, but disabled by default behind the flag <code>dom.promise.enabled</code>. <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=918806">Bug 918806</a> enabled Promises by default in Gecko 29.</p>
-
-<h2 id="另见">另见</h2>
-
-<ul>
- <li>{{jsxref("Promise")}}</li>
-</ul>
diff --git a/files/zh-cn/web/javascript/reference/global_objects/proxy/handler/index.html b/files/zh-cn/web/javascript/reference/global_objects/proxy/handler/index.html
deleted file mode 100644
index 26d1ad3517..0000000000
--- a/files/zh-cn/web/javascript/reference/global_objects/proxy/handler/index.html
+++ /dev/null
@@ -1,77 +0,0 @@
----
-title: Proxy handler
-slug: Web/JavaScript/Reference/Global_Objects/Proxy/handler
-tags:
- - ECMAScript 2015
- - JavaScript
- - Proxy
-translation_of: Web/JavaScript/Reference/Global_Objects/Proxy/Proxy
-translation_of_original: Web/JavaScript/Reference/Global_Objects/Proxy/handler
----
-<div>{{JSRef}}</div>
-
-<div>Proxy 的 handler 对象是一个占位符对象,它包含了用于 {{jsxref("Proxy")}} 的陷阱(Trap)函数。</div>
-
-<div>此处可以理解为由Proxy所暴露出的钩子函数,handler作为挂载钩子函数的对象存在,不同的操作会触发不同的钩子函数</div>
-
-<div>,handler提供了覆写钩子函数的方法。</div>
-
-<h2 id="方法">方法</h2>
-
-<p>所有的陷阱是可选的。如果某个陷阱没有定义,那么就会保留默认行为。</p>
-
-<dl>
- <dt>{{jsxref("Global_Objects/Proxy/handler/getPrototypeOf", "handler.getPrototypeOf()")}}</dt>
- <dd>在读取代理对象的原型时触发该操作,比如在执行 <code>{{jsxref("Object.getPrototypeOf")}}(proxy)</code> 时。</dd>
- <dt>{{jsxref("Global_Objects/Proxy/handler/setPrototypeOf", "handler.setPrototypeOf()")}}</dt>
- <dd>在设置代理对象的原型时触发该操作,比如在执行 <code>{{jsxref("Object.setPrototypeOf")}}(proxy, null)</code> 时。</dd>
- <dt>{{jsxref("Global_Objects/Proxy/handler/isExtensible", "handler.isExtensible()")}}</dt>
- <dd>在判断一个代理对象是否是可扩展时触发该操作,比如在执行 <code>{{jsxref("Object.isExtensible")}}(proxy)</code> 时。</dd>
- <dt>{{jsxref("Global_Objects/Proxy/handler/preventExtensions", "handler.preventExtensions()")}}</dt>
- <dd>在让一个代理对象不可扩展时触发该操作,比如在执行 <code>{{jsxref("Object.preventExtensions")}}(proxy)</code> 时。</dd>
- <dt>{{jsxref("Global_Objects/Proxy/handler/getOwnPropertyDescriptor", "handler.getOwnPropertyDescriptor()")}}</dt>
- <dd>在获取代理对象某个属性的属性描述时触发该操作,比如在执行 <code>{{jsxref("Object.getOwnPropertyDescriptor")}}(proxy, "foo")</code> 时。</dd>
- <dt>{{jsxref("Global_Objects/Proxy/handler/defineProperty", "handler.defineProperty()")}}</dt>
- <dd>在定义代理对象某个属性时的属性描述时触发该操作,比如在执行 <code>{{jsxref("Object.defineProperty")}}(proxy, "foo", {})</code> 时。</dd>
- <dt>{{jsxref("Global_Objects/Proxy/handler/has", "handler.has()")}}</dt>
- <dd>在判断代理对象是否拥有某个属性时触发该操作,比如在执行 <code>"foo" {{jsxref("Operators/in", "in")}} proxy</code> 时。</dd>
- <dt>{{jsxref("Global_Objects/Proxy/handler/get", "handler.get()")}}</dt>
- <dd>在读取代理对象的某个属性时触发该操作,比如在执行 <code>proxy.foo</code> 时。</dd>
- <dt>{{jsxref("Global_Objects/Proxy/handler/set", "handler.set()")}}</dt>
- <dd>在给代理对象的某个属性赋值时触发该操作,比如在执行 <code>proxy.foo = 1</code> 时。</dd>
- <dt>{{jsxref("Global_Objects/Proxy/handler/deleteProperty", "handler.deleteProperty()")}}</dt>
- <dd>在删除代理对象的某个属性时触发该操作,即使用 {{jsxref("Operators/delete", "delete")}} 运算符,比如在执行 <code>delete proxy.foo</code> 时。</dd>
- <dt>{{jsxref("Global_Objects/Proxy/handler/ownKeys", "handler.ownKeys()")}}</dt>
- <dd>{{jsxref("Object.getOwnPropertyNames")}} 和{{jsxref("Object.getOwnPropertySymbols")}} 的陷阱。</dd>
- <dt>{{jsxref("Global_Objects/Proxy/handler/apply", "handler.apply()")}}</dt>
- <dd>函数调用操作的陷阱。</dd>
- <dt>{{jsxref("Global_Objects/Proxy/handler/construct", "handler.construct()")}}</dt>
- <dd>{{jsxref("Operators/new", "new")}} 运算符的陷阱。</dd>
-</dl>
-
-<p>一些不标准的陷阱已经<a href="/zh-CN/docs/Web/JavaScript/Reference/Deprecated_and_obsolete_features#Proxy">废弃并且被移除了</a></p>
-
-<h2 id="规范">规范</h2>
-
-<table class="standard-table">
- <tbody>
- <tr>
- <th scope="col">规范</th>
- </tr>
- <tr>
- <td>{{SpecName('ESDraft', '#sec-proxy-object-internal-methods-and-internal-slots', 'Proxy Object Internal Methods and Internal Slots')}}</td>
- </tr>
- </tbody>
-</table>
-
-<h2 id="浏览器兼容性">浏览器兼容性</h2>
-
-
-
-<p>{{Compat("javascript.builtins.Proxy.handler")}}</p>
-
-<h2 id="相关链接">相关链接</h2>
-
-<ul>
- <li>{{JSxRef("Proxy")}}</li>
-</ul>
diff --git a/files/zh-cn/web/javascript/reference/global_objects/proxy/handler/apply/index.html b/files/zh-cn/web/javascript/reference/global_objects/proxy/proxy/apply/index.html
index 62b8b67f5f..62b8b67f5f 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/proxy/handler/apply/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/proxy/proxy/apply/index.html
diff --git a/files/zh-cn/web/javascript/reference/global_objects/proxy/handler/construct/index.html b/files/zh-cn/web/javascript/reference/global_objects/proxy/proxy/construct/index.html
index 209e9752e3..209e9752e3 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/proxy/handler/construct/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/proxy/proxy/construct/index.html
diff --git a/files/zh-cn/web/javascript/reference/global_objects/proxy/handler/defineproperty/index.html b/files/zh-cn/web/javascript/reference/global_objects/proxy/proxy/defineproperty/index.html
index 9912e043a0..9912e043a0 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/proxy/handler/defineproperty/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/proxy/proxy/defineproperty/index.html
diff --git a/files/zh-cn/web/javascript/reference/global_objects/proxy/handler/deleteproperty/index.html b/files/zh-cn/web/javascript/reference/global_objects/proxy/proxy/deleteproperty/index.html
index 6cb4255755..6cb4255755 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/proxy/handler/deleteproperty/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/proxy/proxy/deleteproperty/index.html
diff --git a/files/zh-cn/web/javascript/reference/global_objects/proxy/handler/get/index.html b/files/zh-cn/web/javascript/reference/global_objects/proxy/proxy/get/index.html
index 14a350436a..14a350436a 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/proxy/handler/get/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/proxy/proxy/get/index.html
diff --git a/files/zh-cn/web/javascript/reference/global_objects/proxy/handler/getownpropertydescriptor/index.html b/files/zh-cn/web/javascript/reference/global_objects/proxy/proxy/getownpropertydescriptor/index.html
index 470b2c6ad9..470b2c6ad9 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/proxy/handler/getownpropertydescriptor/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/proxy/proxy/getownpropertydescriptor/index.html
diff --git a/files/zh-cn/web/javascript/reference/global_objects/proxy/handler/getprototypeof/index.html b/files/zh-cn/web/javascript/reference/global_objects/proxy/proxy/getprototypeof/index.html
index 215d2d9646..215d2d9646 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/proxy/handler/getprototypeof/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/proxy/proxy/getprototypeof/index.html
diff --git a/files/zh-cn/web/javascript/reference/global_objects/proxy/handler/has/index.html b/files/zh-cn/web/javascript/reference/global_objects/proxy/proxy/has/index.html
index fead0846ff..fead0846ff 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/proxy/handler/has/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/proxy/proxy/has/index.html
diff --git a/files/zh-cn/web/javascript/reference/global_objects/proxy/handler/isextensible/index.html b/files/zh-cn/web/javascript/reference/global_objects/proxy/proxy/isextensible/index.html
index 7be418197f..7be418197f 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/proxy/handler/isextensible/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/proxy/proxy/isextensible/index.html
diff --git a/files/zh-cn/web/javascript/reference/global_objects/proxy/handler/ownkeys/index.html b/files/zh-cn/web/javascript/reference/global_objects/proxy/proxy/ownkeys/index.html
index 956b908375..956b908375 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/proxy/handler/ownkeys/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/proxy/proxy/ownkeys/index.html
diff --git a/files/zh-cn/web/javascript/reference/global_objects/proxy/handler/preventextensions/index.html b/files/zh-cn/web/javascript/reference/global_objects/proxy/proxy/preventextensions/index.html
index dd6823c9dd..dd6823c9dd 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/proxy/handler/preventextensions/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/proxy/proxy/preventextensions/index.html
diff --git a/files/zh-cn/web/javascript/reference/global_objects/proxy/handler/set/index.html b/files/zh-cn/web/javascript/reference/global_objects/proxy/proxy/set/index.html
index c66481647a..c66481647a 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/proxy/handler/set/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/proxy/proxy/set/index.html
diff --git a/files/zh-cn/web/javascript/reference/global_objects/proxy/handler/setprototypeof/index.html b/files/zh-cn/web/javascript/reference/global_objects/proxy/proxy/setprototypeof/index.html
index 9d88cd2593..9d88cd2593 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/proxy/handler/setprototypeof/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/proxy/proxy/setprototypeof/index.html
diff --git a/files/zh-cn/web/javascript/reference/global_objects/rangeerror/prototype/index.html b/files/zh-cn/web/javascript/reference/global_objects/rangeerror/prototype/index.html
deleted file mode 100644
index 0e2c78aedf..0000000000
--- a/files/zh-cn/web/javascript/reference/global_objects/rangeerror/prototype/index.html
+++ /dev/null
@@ -1,89 +0,0 @@
----
-title: RangeError.prototype
-slug: Web/JavaScript/Reference/Global_Objects/RangeError/prototype
-translation_of: Web/JavaScript/Reference/Global_Objects/RangeError
-translation_of_original: Web/JavaScript/Reference/Global_Objects/RangeError/prototype
----
-<div>{{JSRef}}</div>
-
-<div> </div>
-
-<div><code><strong>RangeError.prototype</strong></code> 属性表示 {{jsxref("RangeError")}} 构造函数的原型。</div>
-
-<div> </div>
-
-<div>{{js_property_attributes(0, 0, 0)}}</div>
-
-<h2 id="描述">描述</h2>
-
-<p>所有  {{jsxref("RangeError")}} 的实例都继承自 <code>RangeError.prototype</code> ,所以你可以使用这个属性来为所有的实例添加属性或方法。</p>
-
-<h2 id="属性">属性</h2>
-
-<dl>
- <dt><code>RangeError.prototype.constructor</code></dt>
- <dd>指定了创建实例原型的函数</dd>
- <dt>{{jsxref("Error.prototype.message", "RangeError.prototype.message")}}</dt>
- <dd>错误信息。尽管 ECMA-262 规定了 {{jsxref("RangeError")}} 应该拥有一个 <code>message</code> 属性,但在 <a href="/zh-CN/docs/Mozilla/Projects/SpiderMonkey">SpiderMonkey</a> 中,该属性继承自 {{jsxref("Error.prototype.message")}}。</dd>
- <dt>{{jsxref("Error.prototype.name", "RangeError.prototype.name")}}</dt>
- <dd>错误名字,继承自 {{jsxref("Error")}}。</dd>
- <dt>{{jsxref("Error.prototype.fileName", "RangeError.prototype.fileName")}}</dt>
- <dd>引起该错误的文件路径,继承自 {{jsxref("Error")}}。</dd>
- <dt>{{jsxref("Error.prototype.lineNumber", "RangeError.prototype.lineNumber")}}</dt>
- <dd>引起该错误的行号,继承自 {{jsxref("Error")}}。</dd>
- <dt>{{jsxref("Error.prototype.columnNumber", "RangeError.prototype.columnNumber")}}</dt>
- <dd>引起该错误的列号,继承自 {{jsxref("Error")}}。</dd>
- <dt>{{jsxref("Error.prototype.stack", "RangeError.prototype.stack")}}</dt>
- <dd>堆栈跟踪记录,继承自 {{jsxref("Error")}}。</dd>
-</dl>
-
-<h2 id="方法">方法</h2>
-
-<p>尽管 {{jsxref("RangeError")}} 原型对象自身没有包含任何方法,但是 {{jsxref("RangeError")}} 实例却通过原型链继承到了一些方法。</p>
-
-<h2 id="Specifications">Specifications</h2>
-
-<table class="standard-table">
- <tbody>
- <tr>
- <th scope="col">Specification</th>
- <th scope="col">Status</th>
- <th scope="col">Comment</th>
- </tr>
- <tr>
- <td>{{SpecName('ES3')}}</td>
- <td>{{Spec2('ES3')}}</td>
- <td>Initial definition.</td>
- </tr>
- <tr>
- <td>{{SpecName('ES5.1', '#sec-15.11.7.6', 'NativeError.prototype')}}</td>
- <td>{{Spec2('ES5.1')}}</td>
- <td>Defined as <code><em>NativeError</em>.prototype</code>.</td>
- </tr>
- <tr>
- <td>{{SpecName('ES6', '#sec-nativeerror.prototype', 'NativeError.prototype')}}</td>
- <td>{{Spec2('ES6')}}</td>
- <td>Defined as <code><em>NativeError</em>.prototype</code>.</td>
- </tr>
- <tr>
- <td>{{SpecName('ESDraft', '#sec-nativeerror.prototype', 'NativeError.prototype')}}</td>
- <td>{{Spec2('ESDraft')}}</td>
- <td>Defined as <code><em>NativeError</em>.prototype</code>.</td>
- </tr>
- </tbody>
-</table>
-
-<h2 id="Browser_compatibility">Browser compatibility</h2>
-
-<div>
-
-
-<p>{{Compat("javascript.builtins.RangeError")}}</p>
-</div>
-
-<h2 id="See_also">See also</h2>
-
-<ul>
- <li>{{jsxref("Error.prototype")}}</li>
- <li>{{jsxref("Function.prototype")}}</li>
-</ul>
diff --git a/files/zh-cn/web/javascript/reference/global_objects/referenceerror/prototype/index.html b/files/zh-cn/web/javascript/reference/global_objects/referenceerror/prototype/index.html
deleted file mode 100644
index 4cb00496ef..0000000000
--- a/files/zh-cn/web/javascript/reference/global_objects/referenceerror/prototype/index.html
+++ /dev/null
@@ -1,93 +0,0 @@
----
-title: ReferenceError.prototype
-slug: Web/JavaScript/Reference/Global_Objects/ReferenceError/prototype
-tags:
- - Error
- - JavaScript
- - Property
- - Prototype
- - ReferenceError
-translation_of: Web/JavaScript/Reference/Global_Objects/ReferenceError
-translation_of_original: Web/JavaScript/Reference/Global_Objects/ReferenceError/prototype
----
-<div>{{JSRef}}</div>
-
-<p><code><strong>ReferenceError.prototype</strong></code> 表示 {{jsxref("ReferenceError")}} 的原型构造器。</p>
-
-<div>{{js_property_attributes(0, 0, 0)}}</div>
-
-<h2 id="描述">描述</h2>
-
-<p>所有{{jsxref("ReferenceError")}} 实例都继承自 <code>ReferenceError.prototype</code>. 你可以使用原型来为所有实例添加属性和方法。</p>
-
-<h2 id="属性">属性</h2>
-
-<dl>
- <dt><code>ReferenceError.prototype.constructor</code></dt>
- <dd>创建一个实例原型的函数。</dd>
- <dt>{{jsxref("Error.prototype.message", "ReferenceError.prototype.message")}}</dt>
- <dd>错误信息。尽管ECMA-262 曾表示 {{jsxref("ReferenceError")}} 应该提供自己的 <code>message</code> 属性, 在 <a href="/en-US/docs/Mozilla/Projects/SpiderMonkey">SpiderMonkey</a> 中, 它继承自{{jsxref("Error.prototype.message")}}.</dd>
- <dt>{{jsxref("Error.prototype.name", "ReferenceError.prototype.name")}}</dt>
- <dd>错误名称. 继承自{{jsxref("Error")}}.</dd>
- <dt>{{jsxref("Error.prototype.fileName", "ReferenceError.prototype.fileName")}}</dt>
- <dd>出现这个错误的路径. 继承自 {{jsxref("Error")}}.</dd>
- <dt>{{jsxref("Error.prototype.lineNumber", "ReferenceError.prototype.lineNumber")}}</dt>
- <dd>出现这个错误的行号. 继承自 {{jsxref("Error")}}.</dd>
- <dt>{{jsxref("Error.prototype.columnNumber", "ReferenceError.prototype.columnNumber")}}</dt>
- <dd>出现这个错误的列号. 继承自 {{jsxref("Error")}}.</dd>
- <dt>{{jsxref("Error.prototype.stack", "ReferenceError.prototype.stack")}}</dt>
- <dd>堆栈追踪. 继承自 {{jsxref("Error")}}.</dd>
-</dl>
-
-<h2 id="方法">方法</h2>
-
-<p>尽管 {{jsxref("ReferenceError")}} 原型对象自身没有包括任何方法, {{jsxref("ReferenceError")}} 实例确实从原型链中继承了一些方法。</p>
-
-<h2 id="规格">规格</h2>
-
-<table class="standard-table">
- <tbody>
- <tr>
- <th scope="col">规格版本</th>
- <th scope="col">状态</th>
- <th scope="col">注释</th>
- </tr>
- <tr>
- <td>{{SpecName('ES3')}}</td>
- <td>{{Spec2('ES3')}}</td>
- <td>初始定义</td>
- </tr>
- <tr>
- <td>{{SpecName('ES5.1', '#sec-15.11.7.6', 'NativeError.prototype')}}</td>
- <td>{{Spec2('ES5.1')}}</td>
- <td>
- <p>Defined as <code><em>NativeError</em>.prototype</code>.</p>
- </td>
- </tr>
- <tr>
- <td>{{SpecName('ES6', '#sec-nativeerror.prototype', 'NativeError.prototype')}}</td>
- <td>{{Spec2('ES6')}}</td>
- <td>Defined as <code><em>NativeError</em>.prototype</code>.</td>
- </tr>
- <tr>
- <td>{{SpecName('ESDraft', '#sec-nativeerror.prototype', 'NativeError.prototype')}}</td>
- <td>{{Spec2('ESDraft')}}</td>
- <td>Defined as <code><em>NativeError</em>.prototype</code>.</td>
- </tr>
- </tbody>
-</table>
-
-<h2 id="浏览器兼容性">浏览器兼容性</h2>
-
-<div>
-
-
-<p>{{Compat("javascript.builtins.ReferenceError")}}</p>
-</div>
-
-<h2 id="参见">参见</h2>
-
-<ul>
- <li>{{jsxref("Error.prototype")}}</li>
- <li>{{jsxref("Function.prototype")}}</li>
-</ul>
diff --git a/files/zh-cn/web/javascript/reference/global_objects/reflect/比较_reflect_和_object_方法/index.html b/files/zh-cn/web/javascript/reference/global_objects/reflect/comparing_reflect_and_object_methods/index.html
index 43023eae7f..43023eae7f 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/reflect/比较_reflect_和_object_方法/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/reflect/comparing_reflect_and_object_methods/index.html
diff --git a/files/zh-cn/web/javascript/reference/global_objects/regexp/prototype/index.html b/files/zh-cn/web/javascript/reference/global_objects/regexp/prototype/index.html
deleted file mode 100644
index 0c76cb77ac..0000000000
--- a/files/zh-cn/web/javascript/reference/global_objects/regexp/prototype/index.html
+++ /dev/null
@@ -1,153 +0,0 @@
----
-title: RegExp.prototype
-slug: Web/JavaScript/Reference/Global_Objects/RegExp/prototype
-tags:
- - JavaScript
- - Property
- - RegExp
-translation_of: Web/JavaScript/Reference/Global_Objects/RegExp
-translation_of_original: Web/JavaScript/Reference/Global_Objects/RegExp/prototype
----
-<p>{{JSRef("Global_Objects", "RegExp")}}</p>
-<h2 id="Summary" name="Summary">概述</h2>
-<p><font face="Courier New, Andale Mono, monospace">RegExp.prototype 属性表示 </font><span style="line-height: 1.5;">{{jsxref("Global_Objects/RegExp", "RegExp")}} </span><span style="font-family: 'Courier New', 'Andale Mono', monospace; line-height: 1.5;">构造函数的原型对象。</span></p>
-<h2 id="Description" name="Description">描述</h2>
-<p>查看<font face="Courier New, Andale Mono, monospace"> </font><span style="line-height: 1.5;">{{jsxref("Global_Objects/RegExp", "RegExp")}} </span><span style="line-height: 1.5;">了解更多关于 </span><code style="font-style: normal; line-height: 1.5;">RegExp</code> <code style="font-style: normal; line-height: 1.5;">实例的说明。</code></p>
-<p><code>RegExp</code> 实例继承 <code>RegExp.prototype</code>。修改该原型对象上的属性或方法会影响到所有的 <code>RegExp</code> <code>实例。</code></p>
-<h2 id="Properties" name="Properties">属性</h2>
-<p>查看<a href="/zh-CN/docs/JavaScript/Reference/Deprecated_Features#RegExp_Properties" title="zh-CN/docs/JavaScript/Reference/Deprecated_Features#RegExp_Properties">已废弃的RegExp属性</a></p>
-<p>注意,<code>RegExp</code> 对象的几个属性既有完整的长属性名,也有对应的类 Perl 的短属性名。两个属性都有着同样的值。JavaScript 的正则语法就是基于 Perl 的。</p>
-<dl>
- <dt>
- <code style="font-style: normal; font-weight: bold;">RegExp.prototype.</code><code style="font-style: normal; font-weight: bold;">constructor</code></dt>
- <dd>
- 创建该正则对象的构造函数。</dd>
- <dt>
- {{jsxref("RegExp.prototype.global")}}</dt>
- <dd>
- 是否开启全局匹配,也就是匹配目标字符串中所有可能的匹配项,而不是只进行第一次匹配。</dd>
- <dt>
- {{jsxref("RegExp.prototype.ignoreCase")}}</dt>
- <dd>
- 在匹配字符串时是否要忽略字符的大小写。</dd>
- <dt>
- {{jsxref("RegExp.prototype.lastIndex")}}</dt>
- <dd>
- 下次匹配开始的字符串索引位置。</dd>
- <dt>
- {{jsxref("RegExp.prototype.multiline")}}</dt>
- <dd>
- 是否开启多行模式匹配(影响 ^ 和 $ 的行为)。</dd>
- <dt>
- {{jsxref("RegExp.prototype.source")}}</dt>
- <dd>
- 正则对象的源模式文本。</dd>
- <dt>
- {{jsxref("RegExp.prototype.sticky")}} {{experimental_inline}}</dt>
- <dd>
- 是否开启粘滞匹配。</dd>
-</dl>
-<div>
- {{ jsOverrides("Object", "properties", "constructor", "global", "ignoreCase", "lastIndex", "multiline", "source", "sticky") }}</div>
-<h2 id="Methods" name="Methods">方法</h2>
-<p>查看<a href="/zh-CN/docs/JavaScript/Reference/Deprecated_Features#RegExp_Methods" title="zh-CN/docs/JavaScript/Reference/Deprecated_Features#RegExp_Methods">已废弃的RegExp方法</a></p>
-<dl>
- <dt>
- {{jsxref("RegExp.prototype.exec()")}}</dt>
- <dd>
- 在目标字符串中执行一次正则匹配操作。</dd>
- <dt>
- {{jsxref("RegExp.prototype.test()")}}</dt>
- <dd>
- 测试当前正则是否能匹配目标字符串。</dd>
- <dt>
- {{jsxref("RegExp.prototype.toSource()")}} {{non-standard_inline}}</dt>
- <dd>
- 返回一个字符串,其值为该正则对象的字面量形式。覆盖了<code>Object.prototype.toSource</code> 方法.</dd>
- <dt>
- {{jsxref("RegExp.prototype.toString()")}}</dt>
- <dd>
- 返回一个字符串,其值为该正则对象的字面量形式。覆盖了{{jsxref("Object.prototype.toString()")}} 方法。</dd>
-</dl>
-<div>
- {{ jsOverrides("Object", "Methods", "exec", "test", "toSource", "toString") }}</div>
-<h2 id="规范" style="margin-bottom: 20px; line-height: 30px;">规范</h2>
-<table class="standard-table">
- <tbody>
- <tr>
- <th scope="col">Specification</th>
- <th scope="col">Status</th>
- <th scope="col">Comment</th>
- </tr>
- <tr>
- <td>ECMAScript 1st Edition. Implemented in JavaScript 1.1</td>
- <td>Standard</td>
- <td>Initial definition.</td>
- </tr>
- <tr>
- <td>{{SpecName('ES5.1', '#sec-15.10.5.1', 'RegExp')}}</td>
- <td>{{Spec2('ES5.1')}}</td>
- <td> </td>
- </tr>
- <tr>
- <td>{{SpecName('ES6', '#sec-regexp.prototype', 'RegExp.prototype')}}</td>
- <td>{{Spec2('ES6')}}</td>
- <td> </td>
- </tr>
- </tbody>
-</table>
-<h2 id="浏览器兼容性" style="margin-bottom: 20px; line-height: 30px;">浏览器兼容性</h2>
-<p>{{ CompatibilityTable() }}</p>
-<div id="compat-desktop">
- <table class="compat-table">
- <tbody>
- <tr>
- <th style="line-height: 16px;">Feature</th>
- <th style="line-height: 16px;">Chrome</th>
- <th style="line-height: 16px;">Firefox (Gecko)</th>
- <th style="line-height: 16px;">Internet Explorer</th>
- <th style="line-height: 16px;">Opera</th>
- <th style="line-height: 16px;">Safari</th>
- </tr>
- <tr>
- <td>Basic support</td>
- <td>{{ CompatVersionUnknown() }}</td>
- <td>{{ CompatVersionUnknown() }}</td>
- <td>{{ CompatVersionUnknown() }}</td>
- <td>{{ CompatVersionUnknown() }}</td>
- <td>{{ CompatVersionUnknown() }}</td>
- </tr>
- </tbody>
- </table>
-</div>
-<div id="compat-mobile">
- <table class="compat-table">
- <tbody>
- <tr>
- <th style="line-height: 16px;">Feature</th>
- <th style="line-height: 16px;">Android</th>
- <th style="line-height: 16px;">Chrome for Android</th>
- <th style="line-height: 16px;">Firefox Mobile (Gecko)</th>
- <th style="line-height: 16px;">IE Mobile</th>
- <th style="line-height: 16px;">Opera Mobile</th>
- <th style="line-height: 16px;">Safari Mobile</th>
- </tr>
- <tr>
- <td>Basic support</td>
- <td>{{ CompatVersionUnknown() }}</td>
- <td>{{ CompatVersionUnknown() }}</td>
- <td>{{ CompatVersionUnknown() }}</td>
- <td>{{ CompatVersionUnknown() }}</td>
- <td>{{ CompatVersionUnknown() }}</td>
- <td>{{ CompatVersionUnknown() }}</td>
- </tr>
- </tbody>
- </table>
-</div>
-<h2 id="相关链接" style="margin-bottom: 20px; line-height: 30px;">相关链接</h2>
-<ul>
- <li><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions" title="JavaScript/Guide/Regular_Expressions">Regular Expressions</a> chapter in the <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide" title="JavaScript/Guide">JavaScript Guide</a></li>
- <li>{{jsxref("Global_Objects/RegExp", "RegExp")}}</li>
- <li>{{jsxref("Function.prototype")}}</li>
-</ul>
-<p> </p>
diff --git a/files/zh-cn/web/javascript/reference/global_objects/sharedarraybuffer/prototype/index.html b/files/zh-cn/web/javascript/reference/global_objects/sharedarraybuffer/prototype/index.html
deleted file mode 100644
index ccb6f2df65..0000000000
--- a/files/zh-cn/web/javascript/reference/global_objects/sharedarraybuffer/prototype/index.html
+++ /dev/null
@@ -1,63 +0,0 @@
----
-title: SharedArrayBuffer.prototype
-slug: Web/JavaScript/Reference/Global_Objects/SharedArrayBuffer/prototype
-tags:
- - Prototype
- - SharedArrayBuffer
-translation_of: Web/JavaScript/Reference/Global_Objects/SharedArrayBuffer
-translation_of_original: Web/JavaScript/Reference/Global_Objects/SharedArrayBuffer/prototype
----
-<div>{{JSRef}}</div>
-
-<p><strong><code>SharedArrayBuffer.prototype</code></strong>  属性表示 {{jsxref("SharedArrayBuffer")}}  对象的原型。</p>
-
-<div>{{js_property_attributes(0,0,0)}}</div>
-
-<h2 id="描述">描述</h2>
-
-<p><code>SharedArrayBuffer</code>实例继承自<code>SharedArrayBuffer.prototype</code>。 与所有构造函数一样,您可以更改构造函数的原型对象以对所有<code>SharedArrayBuffer</code>实例进行更改。</p>
-
-<h2 id="属性">属性</h2>
-
-<dl>
- <dt>SharedArrayBuffer.prototype.constructor</dt>
- <dd>指定创建对象原型的函数。 初始值为标准的内置<code>SharedArrayBuffer</code>构造函数。</dd>
- <dt>{{jsxref("SharedArrayBuffer.prototype.byteLength")}} {{readonlyInline}}</dt>
- <dd>数组的大小(以字节为单位)。 这是在数组初始化时建立的,并且无法被更改。<strong> 只读</strong>。</dd>
-</dl>
-
-<h2 id="方法">方法</h2>
-
-<dl>
- <dt>{{jsxref("SharedArrayBuffer.slice", "SharedArrayBuffer.prototype.slice(begin, end)")}}</dt>
- <dd>返回一个新的<code>SharedArrayBuffer</code>,其内容是此<code>SharedArrayBuffer</code>字节从<code>beigin</code>开始(包括<code>begin</code>)到<code>end</code>结束(不包括<code>end</code>)的副本。 如果<code>begin</code>或<code>end</code>为负,则它是指数组末尾的索引,而不是开头的索引。</dd>
-</dl>
-
-<h2 id="规范">规范</h2>
-
-<table class="standard-table">
- <tbody>
- <tr>
- <th scope="col">Specification</th>
- <th scope="col">Status</th>
- <th scope="col">Comment</th>
- </tr>
- <tr>
- <td>{{SpecName('ESDraft', '#sec-sharedarraybuffer.prototype', 'SharedArrayBuffer.prototype')}}</td>
- <td>{{Spec2('ESDraft')}}</td>
- <td>Initial definition in ES2017.</td>
- </tr>
- </tbody>
-</table>
-
-<h2 id="浏览器兼容性">浏览器兼容性</h2>
-
-
-
-<p>{{Compat("javascript.builtins.SharedArrayBuffer.prototype")}}</p>
-
-<h2 id="相关链接">相关链接</h2>
-
-<ul>
- <li>{{jsxref("SharedArrayBuffer")}}</li>
-</ul>
diff --git a/files/zh-cn/web/javascript/reference/global_objects/string/prototype/index.html b/files/zh-cn/web/javascript/reference/global_objects/string/prototype/index.html
deleted file mode 100644
index 00a9695a64..0000000000
--- a/files/zh-cn/web/javascript/reference/global_objects/string/prototype/index.html
+++ /dev/null
@@ -1,187 +0,0 @@
----
-title: String.prototype
-slug: Web/JavaScript/Reference/Global_Objects/String/prototype
-tags:
- - JavaScript
- - 原型
- - 参考
- - 字符串
- - 属性
-translation_of: Web/JavaScript/Reference/Global_Objects/String
-translation_of_original: Web/JavaScript/Reference/Global_Objects/String/prototype
----
-<div>{{JSRef}}</div>
-
-<p> <code><strong>String.prototype</strong></code> 属性表示 {{jsxref("String")}}原型对象。</p>
-
-<div>{{js_property_attributes(0,0,0)}}</div>
-
-<h2 id="Description" name="Description">描述</h2>
-
-<p>所有 {{jsxref("String")}} 的实例都继承自 <code>String.prototype</code>. 任何String.prototype上的改变都会影响到所有的 {{jsxref("String")}} <code>实例。</code></p>
-
-<h2 id="Properties" name="Properties">属性</h2>
-
-<dl>
- <dt><code>String.prototype.constructor</code></dt>
- <dd>用于创造对象的原型对象的特定的函数。</dd>
- <dt>{{jsxref("String.prototype.length")}}</dt>
- <dd>返回了字符串的长度。</dd>
- <dt><em>N</em></dt>
- <dd>用于访问第N个位置的字符,其中N是小于 {{jsxref("String.length", "length")}} 和 0之间的正整数。这些属性都是“只读”性质,不能编辑。</dd>
-</dl>
-
-<h2 id="Methods" name="Methods">方法</h2>
-
-<h3 id="Methods_unrelated_to_HTML" name="Methods_unrelated_to_HTML">跟HTML无关的方法</h3>
-
-<dl>
- <dt>{{jsxref("String.prototype.charAt()")}}</dt>
- <dd>返回特定位置的字符。</dd>
- <dt>{{jsxref("String.prototype.charCodeAt()")}}</dt>
- <dd>返回表示给定索引的字符的Unicode的值。</dd>
- <dt>{{jsxref("String.prototype.codePointAt()")}}</dt>
- <dd>返回使用UTF-16编码的给定位置的值的非负整数。</dd>
- <dt>{{jsxref("String.prototype.concat()")}}</dt>
- <dd>连接两个字符串文本,并返回一个新的字符串。</dd>
- <dt>{{jsxref("String.prototype.includes()")}}</dt>
- <dd>判断一个字符串里是否包含其他字符串。</dd>
- <dt>{{jsxref("String.prototype.endsWith()")}}</dt>
- <dd>判断一个字符串的是否以给定字符串结尾,结果返回布尔值。</dd>
- <dt>{{jsxref("String.prototype.indexOf()")}}</dt>
- <dd>从字符串对象中返回首个被发现的给定值的索引值,如果没有找到则返回-1。</dd>
- <dt>{{jsxref("String.prototype.lastIndexOf()")}}</dt>
- <dd>从字符串对象中返回最后一个被发现的给定值的索引值,如果没有找到则返回-1。</dd>
- <dt>{{jsxref("String.prototype.localeCompare()")}}</dt>
- <dd>返回一个数字表示是否引用字符串在排序中位于比较字符串的前面,后面,或者二者相同。</dd>
- <dt>{{jsxref("String.prototype.match()")}}</dt>
- <dd>使用正则表达式与字符串相比较。</dd>
- <dt>{{jsxref("String.prototype.normalize()")}}</dt>
- <dd>返回调用字符串值的Unicode标准化形式。</dd>
- <dt>{{jsxref("String.prototype.padEnd()")}}</dt>
- <dd>在当前字符串尾部填充指定的字符串, 直到达到指定的长度。 返回一个新的字符串。</dd>
- <dt>{{jsxref("String.prototype.padStart()")}}</dt>
- <dd>
- <p>在当前字符串头部填充指定的字符串, 直到达到指定的长度。 返回一个新的字符串。</p>
- </dd>
- <dt>{{jsxref("String.prototype.quote()")}} {{ obsolete_inline }}</dt>
- <dd>设置嵌入引用的引号类型。</dd>
- <dt>{{jsxref("String.prototype.repeat()")}}</dt>
- <dd>返回指定重复次数的由元素组成的字符串对象。</dd>
- <dt>{{jsxref("String.prototype.replace()")}}</dt>
- <dd>被用来在正则表达式和字符串直接比较,然后用新的子串来替换被匹配的子串。</dd>
- <dt>{{jsxref("String.prototype.search()")}}</dt>
- <dd>对正则表达式和指定字符串进行匹配搜索,返回第一个出现的匹配项的下标。</dd>
- <dt>{{jsxref("String.prototype.slice()")}}</dt>
- <dd>摘取一个字符串区域,返回一个新的字符串。</dd>
- <dt>{{jsxref("String.prototype.split()")}}</dt>
- <dd>通过分离字符串成字串,将字符串对象分割成字符串数组。</dd>
- <dt>{{jsxref("String.prototype.startsWith()")}}</dt>
- <dd>判断字符串的起始位置是否匹配其他字符串中的字符。</dd>
- <dt>{{jsxref("String.prototype.substr()")}}</dt>
- <dd>通过指定字符数返回在指定位置开始的字符串中的字符。</dd>
- <dt>{{jsxref("String.prototype.substring()")}}</dt>
- <dd>返回在字符串中指定两个下标之间的字符。</dd>
- <dt>{{jsxref("String.prototype.toLocaleLowerCase()")}}</dt>
- <dd>根据当前区域设置,将符串中的字符转换成小写。对于大多数语言来说,{{jsxref("String.toLowerCase", "toLowerCase")}}的返回值是一致的。</dd>
- <dt>{{jsxref("String.prototype.toLocaleUpperCase()")}}</dt>
- <dd>根据当前区域设置,将字符串中的字符转换成大写,对于大多数语言来说,{{jsxref("String.toUpperCase", "toUpperCase")}}的返回值是一致的。</dd>
- <dt>{{jsxref("String.prototype.toLowerCase()")}}</dt>
- <dd>将字符串转换成小写并返回。</dd>
- <dt>{{jsxref("String.prototype.toSource()")}} {{ Non-standard_inline() }}</dt>
- <dd>返回一个对象文字代表着特定的对象。你可以使用这个返回值来创建新的对象。重写 {{jsxref("Object.prototype.toSource")}} 方法。</dd>
- <dt>{{jsxref("String.prototype.toString()")}}</dt>
- <dd>返回用字符串表示的特定对象。重写 {{jsxref("Object.prototype.toString")}} 方法。</dd>
- <dt>{{jsxref("String.prototype.toUpperCase()")}}</dt>
- <dd>将字符串转换成大写并返回。</dd>
- <dt>{{jsxref("String.prototype.trim()")}}</dt>
- <dd>从字符串的开始和结尾去除空格。参照部分 ECMAScript 5 标准。</dd>
- <dt>{{jsxref("String.prototype.trimStart()")}}</dt>
- <dt>{{jsxref("String.prototype.trimLeft()")}} {{ Non-standard_inline() }}</dt>
- <dd>从字符串的左侧去除空格。</dd>
- <dt>{{jsxref("String.prototype.trimEnd()")}}</dt>
- <dt>{{jsxref("String.prototype.trimRight()")}} {{ Non-standard_inline() }}</dt>
- <dd>从字符串的右侧去除空格。</dd>
- <dt>{{jsxref("String.prototype.valueOf()")}}</dt>
- <dd>返回特定对象的原始值。重写 {{jsxref("Object.prototype.valueOf")}} 方法。</dd>
- <dt>{{jsxref("String.prototype.@@iterator()", "String.prototype[@@iterator]()")}}</dt>
- <dd>返回一个新的迭代器对象,该对象遍历字符串值的索引位置,将每个索引值作为字符串值返回。</dd>
-</dl>
-
-<h3 id="HTML_wrapper_methods" name="HTML_wrapper_methods">HTML wrapper methods</h3>
-
-<p>下面的方法被限制使用,因为只对可用的HTML标签和属性提供部分支持。</p>
-
-<dl>
- <dt>{{jsxref("String.prototype.anchor()")}}</dt>
- <dd><code><a href="https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element/a#attr-name">&lt;a name="name"&gt;</a></code> (hypertext target)</dd>
- <dt>{{jsxref("String.prototype.big()")}} {{deprecated_inline}}</dt>
- <dd>{{HTMLElement("big")}}</dd>
- <dt>{{jsxref("String.prototype.blink()")}} {{deprecated_inline}}</dt>
- <dd>{{HTMLElement("blink")}}</dd>
- <dt>{{jsxref("String.prototype.bold()")}} {{deprecated_inline}}</dt>
- <dd>{{HTMLElement("b")}}</dd>
- <dt>{{jsxref("String.prototype.fixed()")}} {{deprecated_inline}}</dt>
- <dd>{{HTMLElement("tt")}}</dd>
- <dt>{{jsxref("String.prototype.fontcolor()")}} {{deprecated_inline}}</dt>
- <dd><a href="https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element/font#attr-color"><code>&lt;font color="<em>color</em>"&gt;</code></a></dd>
- <dt>{{jsxref("String.prototype.fontsize()")}} {{deprecated_inline}}</dt>
- <dd><a href="https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element/font#attr-size"><code>&lt;font size="<em>size</em>"&gt;</code></a></dd>
- <dt>{{jsxref("String.prototype.italics()")}} {{deprecated_inline}}</dt>
- <dd>{{HTMLElement("i")}}</dd>
- <dt>{{jsxref("String.prototype.link()")}}</dt>
- <dd><a class="external" href="https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element/a#attr-href"><code>&lt;a href="<em>url</em>"&gt;</code></a> (link to URL)</dd>
- <dt>{{jsxref("String.prototype.small()")}} {{deprecated_inline}}</dt>
- <dd>{{HTMLElement("small")}}</dd>
- <dt>{{jsxref("String.prototype.strike()")}} {{deprecated_inline}}</dt>
- <dd>{{HTMLElement("strike")}}</dd>
- <dt>{{jsxref("String.prototype.sub()")}} {{deprecated_inline}}</dt>
- <dd>{{HTMLElement("sub")}}</dd>
- <dt>{{jsxref("String.prototype.sup()")}} {{deprecated_inline}}</dt>
- <dd>{{HTMLElement("sup")}}</dd>
-</dl>
-
-<h2 id="Specifications">Specifications</h2>
-
-<table class="standard-table">
- <tbody>
- <tr>
- <th scope="col">规范</th>
- <th scope="col">状态</th>
- <th scope="col">备注</th>
- </tr>
- <tr>
- <td>ECMAScript 1st Edition.</td>
- <td>Standard</td>
- <td>Initial definition.</td>
- </tr>
- <tr>
- <td>{{SpecName('ES5.1', '#sec-15.5.3.1', 'String.prototype')}}</td>
- <td>{{Spec2('ES5.1')}}</td>
- <td></td>
- </tr>
- <tr>
- <td>{{SpecName('ES6', '#sec-string.prototype', 'String.prototype')}}</td>
- <td>{{Spec2('ES6')}}</td>
- <td></td>
- </tr>
- <tr>
- <td>{{SpecName('ESDraft', '#sec-string.prototype', 'String.prototype')}}</td>
- <td>{{Spec2('ESDraft')}}</td>
- <td></td>
- </tr>
- </tbody>
-</table>
-
-<h2 id="浏览器兼容性">浏览器兼容性</h2>
-
-<p class="hidden">The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> and send us a pull request.</p>
-
-<p>{{Compat("javascript.builtins.String.prototype")}}</p>
-
-<h2 id="更多">更多</h2>
-
-<ul>
- <li>{{jsxref("Global_Objects/String", "String")}}</li>
- <li>{{jsxref("Function.prototype")}}</li>
-</ul>
diff --git a/files/zh-cn/web/javascript/reference/global_objects/string/trimright/index.html b/files/zh-cn/web/javascript/reference/global_objects/string/trimend/index.html
index 9c8319cb29..9c8319cb29 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/string/trimright/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/string/trimend/index.html
diff --git a/files/zh-cn/web/javascript/reference/global_objects/string/trimleft/index.html b/files/zh-cn/web/javascript/reference/global_objects/string/trimstart/index.html
index bc6133cecb..bc6133cecb 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/string/trimleft/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/string/trimstart/index.html
diff --git a/files/zh-cn/web/javascript/reference/global_objects/symbol/prototype/index.html b/files/zh-cn/web/javascript/reference/global_objects/symbol/prototype/index.html
deleted file mode 100644
index f00b37a223..0000000000
--- a/files/zh-cn/web/javascript/reference/global_objects/symbol/prototype/index.html
+++ /dev/null
@@ -1,67 +0,0 @@
----
-title: Symbol.prototype
-slug: Web/JavaScript/Reference/Global_Objects/Symbol/prototype
-translation_of: Web/JavaScript/Reference/Global_Objects/Symbol
-translation_of_original: Web/JavaScript/Reference/Global_Objects/Symbol/prototype
----
-<div>{{JSRef}}</div>
-
-<p><code><strong>Symbol</strong></code><strong><code>.prototype</code></strong> 表示 {{jsxref("Symbol")}} 构造函数的原型。.</p>
-
-<div>{{EmbedInteractiveExample("pages/js/symbol-prototype.html")}}</div>
-
-<h2 id="Description">Description</h2>
-
-<p>{{jsxref("Symbol")}} 继承自 {{jsxref("Symbol.prototype")}}. 你可以使用构造函数的原型对象来给所有Symbol实例添加属性或者方法。</p>
-
-<p>{{js_property_attributes(0,0,0)}}</p>
-
-<h2 id="Properties">Properties</h2>
-
-<dl>
- <dt><code>Symbol.prototype.constructor</code></dt>
- <dd>返回创建实例原型的函数. 默认为 {{jsxref("Symbol")}} 函数。</dd>
- <dt>{{jsxref("Symbol.prototype.description")}}</dt>
- <dd>一个包含symbol描述的只读字符串。</dd>
-</dl>
-
-<h2 id="Methods">Methods</h2>
-
-<dl>
- <dt>{{jsxref("Symbol.prototype.toSource()")}} {{Non-standard_inline}}</dt>
- <dd>返回包含{{jsxref("Global_Objects/Symbol", "Symbol")}} 对象源码的字符串。覆盖{{jsxref("Object.prototype.toSource()")}} 方法。</dd>
- <dt>{{jsxref("Symbol.prototype.toString()")}}</dt>
- <dd>返回包含Symbol描述符的字符串。 覆盖{{jsxref("Object.prototype.toString()")}} 方法。</dd>
- <dt>{{jsxref("Symbol.prototype.valueOf()")}}</dt>
- <dd>返回 {{jsxref("Symbol")}} 对象的初始值.。覆盖 {{jsxref("Object.prototype.valueOf()")}} 方法。</dd>
- <dt>{{jsxref("Symbol.prototype.@@toPrimitive()", "Symbol.prototype[@@toPrimitive]")}}</dt>
- <dd> 返回{{jsxref("Symbol")}}对象的初始值。</dd>
-</dl>
-
-<h2 id="Specifications">Specifications</h2>
-
-<table class="standard-table">
- <tbody>
- <tr>
- <th scope="col">Specification</th>
- <th scope="col">Status</th>
- <th scope="col">Comment</th>
- </tr>
- <tr>
- <td>{{SpecName('ES6', '#sec-symbol.prototype', 'Symbol.prototype')}}</td>
- <td>{{Spec2('ES6')}}</td>
- <td>Initial definition.</td>
- </tr>
- <tr>
- <td>{{SpecName('ESDraft', '#sec-symbol.prototype', 'Symbol.prototype')}}</td>
- <td>{{Spec2('ESDraft')}}</td>
- <td></td>
- </tr>
- </tbody>
-</table>
-
-<h2 id="浏览器兼容">浏览器兼容</h2>
-
-<p>{{Compat("javascript.builtins.Symbol.prototype")}}</p>
-
-<div id="compat-mobile"></div>
diff --git a/files/zh-cn/web/javascript/reference/global_objects/syntaxerror/prototype/index.html b/files/zh-cn/web/javascript/reference/global_objects/syntaxerror/prototype/index.html
deleted file mode 100644
index 6f109510ef..0000000000
--- a/files/zh-cn/web/javascript/reference/global_objects/syntaxerror/prototype/index.html
+++ /dev/null
@@ -1,133 +0,0 @@
----
-title: SyntaxError.prototype
-slug: Web/JavaScript/Reference/Global_Objects/SyntaxError/prototype
-tags:
- - Error
- - JavaScript
- - Property
- - Prototype
- - SyntaxError
-translation_of: Web/JavaScript/Reference/Global_Objects/SyntaxError
-translation_of_original: Web/JavaScript/Reference/Global_Objects/SyntaxError/prototype
----
-<div>{{JSRef}}</div>
-
-<p><code><strong>SyntaxError.prototype</strong></code> 属性表示{{jsxref("SyntaxError")}} 构造器的原型.</p>
-
-<h2 id="Description" name="Description">描述</h2>
-
-<p>所有 {{jsxref("SyntaxError")}} 实例继承自 <code>SyntaxError.prototype</code>. 你可以使用该原型给所有实例添加属性和方法.</p>
-
-<h2 id="属性">属性</h2>
-
-<dl>
- <dt><code>SyntaxError.prototype.constructor</code></dt>
- <dd>创建实例的构造函数.</dd>
- <dt>{{jsxref("Error.prototype.message", "SyntaxError.prototype.message")}}</dt>
- <dd>错误信息. 尽管 ECMA-262 指出, {{jsxref("SyntaxError")}} 应该提供其子什么的信息属性,但在 <a href="/en-US/docs/Mozilla/Projects/SpiderMonkey">SpiderMonkey</a> 中, 仍是继承自{{jsxref("Error.prototype.message")}}.</dd>
- <dt>{{jsxref("Error.prototype.name", "SyntaxError.prototype.name")}}</dt>
- <dd><span style="line-height: 19.0909080505371px;">错误的名称.继承自</span> {{jsxref("Error")}}.</dd>
- <dt>{{jsxref("Error.prototype.fileName", "SyntaxError.prototype.fileName")}}</dt>
- <dd>抛出该异常的文件路径.继承自 {{jsxref("Error")}}.</dd>
- <dt>{{jsxref("Error.prototype.lineNumber", "SyntaxError.prototype.lineNumber")}}</dt>
- <dd><span style="line-height: 19.0909080505371px;">抛出该异常的文件的行号</span>. 继承自 {{jsxref("Error")}}.</dd>
- <dt>{{jsxref("Error.prototype.columnNumber", "SyntaxError.prototype.columnNumber")}}</dt>
- <dd><span style="line-height: 19.0909080505371px;">抛出该异常的文件的列数</span>. <span style="line-height: 19.0909080505371px;">继承自</span> {{jsxref("Error")}}.</dd>
- <dt>{{jsxref("Error.prototype.stack", "SyntaxError.prototype.stack")}}</dt>
- <dd>栈追踪信息. <span style="line-height: 19.0909080505371px;">继承自</span> {{jsxref("Error")}}.</dd>
-</dl>
-
-<h2 id="方法">方法</h2>
-
-<p>尽管 {{jsxref("SyntaxError")}} 原型对象自身不包含任何方法,但 {{jsxref("SyntaxError")}} 实例从原型链中继承了一些方法.</p>
-
-<h2 id="规范">规范</h2>
-
-<table class="standard-table">
- <tbody>
- <tr>
- <th scope="col">Specification</th>
- <th scope="col">Status</th>
- <th scope="col">Comment</th>
- </tr>
- <tr>
- <td>{{SpecName('ES3')}}</td>
- <td>{{Spec2('ES3')}}</td>
- <td>Initial definition.</td>
- </tr>
- <tr>
- <td>{{SpecName('ES5.1', '#sec-15.11.7.6', 'NativeError.prototype')}}</td>
- <td>{{Spec2('ES5.1')}}</td>
- <td>Defined as <code><em>NativeError</em>.prototype</code>.</td>
- </tr>
- <tr>
- <td>{{SpecName('ES6', '#sec-nativeerror.prototype', 'NativeError.prototype')}}</td>
- <td>{{Spec2('ES6')}}</td>
- <td>Defined as <code><em>NativeError</em>.prototype</code>.</td>
- </tr>
- <tr>
- <td>{{SpecName('ESDraft', '#sec-nativeerror.prototype', 'NativeError.prototype')}}</td>
- <td>{{Spec2('ESDraft')}}</td>
- <td>Defined as <code><em>NativeError</em>.prototype</code>.</td>
- </tr>
- </tbody>
-</table>
-
-<h2 id="浏览器兼容性">浏览器兼容性</h2>
-
-<div>{{CompatibilityTable}}</div>
-
-<div id="compat-desktop">
-<table class="compat-table">
- <tbody>
- <tr>
- <th>Feature</th>
- <th>Chrome</th>
- <th>Firefox (Gecko)</th>
- <th>Internet Explorer</th>
- <th>Opera</th>
- <th>Safari</th>
- </tr>
- <tr>
- <td>Basic support</td>
- <td>{{CompatVersionUnknown}}</td>
- <td>{{CompatVersionUnknown}}</td>
- <td>{{CompatVersionUnknown}}</td>
- <td>{{CompatVersionUnknown}}</td>
- <td>{{CompatVersionUnknown}}</td>
- </tr>
- </tbody>
-</table>
-</div>
-
-<div id="compat-mobile">
-<table class="compat-table">
- <tbody>
- <tr>
- <th>Feature</th>
- <th>Android</th>
- <th>Chrome for Android</th>
- <th>Firefox Mobile (Gecko)</th>
- <th>IE Mobile</th>
- <th>Opera Mobile</th>
- <th>Safari Mobile</th>
- </tr>
- <tr>
- <td>Basic support</td>
- <td>{{CompatVersionUnknown}}</td>
- <td>{{CompatVersionUnknown}}</td>
- <td>{{CompatVersionUnknown}}</td>
- <td>{{CompatVersionUnknown}}</td>
- <td>{{CompatVersionUnknown}}</td>
- <td>{{CompatVersionUnknown}}</td>
- </tr>
- </tbody>
-</table>
-</div>
-
-<h2 id="See_also" name="See_also">相关链接</h2>
-
-<ul>
- <li>{{jsxref("Error.prototype")}}</li>
- <li>{{jsxref("Function.prototype")}}</li>
-</ul>
diff --git a/files/zh-cn/web/javascript/reference/global_objects/typedarray/prototype/index.html b/files/zh-cn/web/javascript/reference/global_objects/typedarray/prototype/index.html
deleted file mode 100644
index ae9f64bf5e..0000000000
--- a/files/zh-cn/web/javascript/reference/global_objects/typedarray/prototype/index.html
+++ /dev/null
@@ -1,172 +0,0 @@
----
-title: TypedArray.prototype
-slug: Web/JavaScript/Reference/Global_Objects/TypedArray/prototype
-translation_of: Web/JavaScript/Reference/Global_Objects/TypedArray
-translation_of_original: Web/JavaScript/Reference/Global_Objects/TypedArray/prototype
----
-<div>{{JSRef}}</div>
-
-<p><code><strong>TypedArray</strong></code><strong><code>.prototype</code></strong>属性表示{{jsxref("TypedArray")}}构造器的原型.</p>
-
-<div>{{js_property_attributes(0,0,0)}}</div>
-
-<h2 id="描述">描述</h2>
-
-<p>{{jsxref("TypedArray")}} 实例继承自 {{jsxref("TypedArray.prototype")}}. 你可以通过该原型对象为所有的类型化数组(<a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray#TypedArray_objects">typed array types</a>)实例添加属性和方法.</p>
-
-<p>关于继承的更多的信息请参见关于<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray#Description"><em>TypedArray</em></a> 的描述.</p>
-
-<h2 id="属性">属性</h2>
-
-<dl>
- <dt><code>TypedArray.prototype.constructor</code></dt>
- <dd>返回创建实例原型的构造函数.这是相应的<a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray#TypedArray_objects">typed array type</a>的默认的构造函数.</dd>
- <dt>{{jsxref("TypedArray.prototype.buffer")}} {{readonlyInline}}</dt>
- <dd>返回被格式化数组引用的{{jsxref("ArrayBuffer")}}. 创建时已被固化,因此是只读的.</dd>
- <dt>{{jsxref("TypedArray.prototype.byteLength")}} {{readonlyInline}}</dt>
- <dd>返回从{{jsxref("ArrayBuffer")}}读取的字节长度. 创建时已被固化,因此是只读的.</dd>
- <dt>{{jsxref("TypedArray.prototype.byteOffset")}} {{readonlyInline}}</dt>
- <dd>返回从{{jsxref("ArrayBuffer")}}读取时的字节偏移量<strong>.</strong>创建时已被固化,因此是只读的.</dd>
- <dt>{{jsxref("TypedArray.prototype.length")}} {{readonlyInline}}</dt>
- <dd>返回在类型化数组中的元素的数量<strong>.</strong>创建时已被固化,因此是只读的.</dd>
-</dl>
-
-<h2 id="methods">methods</h2>
-
-<dl>
- <dt>{{jsxref("TypedArray.prototype.copyWithin()")}}</dt>
- <dd>浅拷贝数组的部分元素到同一数组的不同位置,且不改变数组的大小,返回该数组. 参见 {{jsxref("Array.prototype.copyWithin()")}}.</dd>
- <dt>{{jsxref("TypedArray.prototype.entries()")}}</dt>
- <dd>返回一个 <code><strong>Array Iterator</strong></code> 对象,该对象包含数组中每一个索引的键值对.参见 {{jsxref("Array.prototype.entries()")}}.</dd>
- <dt>{{jsxref("TypedArray.prototype.every()")}}</dt>
- <dd>测试数组的所有元素是否都通过了指定函数的测试. 参见{{jsxref("Array.prototype.every()")}}.</dd>
- <dt>{{jsxref("TypedArray.prototype.fill()")}}</dt>
- <dd>将一个数组中指定区间的所有元素的值, 都替换成或者说填充成为某个固定的值. 参见 {{jsxref("Array.prototype.fill()")}}.</dd>
- <dt>{{jsxref("TypedArray.prototype.filter()")}}</dt>
- <dd>使用指定的函数测试所有元素,并创建一个包含所有通过测试的元素的新数组. 参见 {{jsxref("Array.prototype.filter()")}}.</dd>
- <dt>{{jsxref("TypedArray.prototype.find()")}}</dt>
- <dd>返回一个满足提供的函数的测试的元素,若是没有满足的元素则返回<code>undefined</code> . 参见 {{jsxref("Array.prototype.find()")}}.</dd>
- <dt>{{jsxref("TypedArray.prototype.findIndex()")}}</dt>
- <dd>查找数组中某指定元素的索引, 如果找不到指定的元素, 则返回 -1. 参见 {{jsxref("Array.prototype.findIndex()")}}.</dd>
- <dt>{{jsxref("TypedArray.prototype.forEach()")}}</dt>
- <dd>对数组的每个元素执行一次提供的函数(回调函数). 参见 {{jsxref("Array.prototype.forEach()")}}.</dd>
- <dt>{{jsxref("TypedArray.prototype.includes()")}} {{experimental_inline}}</dt>
- <dd>确定一个类型化数组是否包括了某个元素,包含就返回true,不包含就返回false.参见 {{jsxref("Array.prototype.includes()")}}.</dd>
- <dt>{{jsxref("TypedArray.prototype.indexOf()")}}</dt>
- <dd>返回数组中第一个等于指定值得元素的索引,如果找不到则返回-1. 参见 {{jsxref("Array.prototype.indexOf()")}}.</dd>
- <dt>{{jsxref("TypedArray.prototype.join()")}}</dt>
- <dd>将数组中的所有元素连接成一个字符串. 参见 {{jsxref("Array.prototype.join()")}}.</dd>
- <dt>{{jsxref("TypedArray.prototype.keys()")}}</dt>
- <dd>返回一个新的包含数组索引的数组迭代器. 参见 {{jsxref("Array.prototype.keys()")}}.</dd>
- <dt>{{jsxref("TypedArray.prototype.lastIndexOf()")}}</dt>
- <dd>返回数组中最后一个等于指定值得元素的索引,如果找不到则返回-1.参见 {{jsxref("Array.prototype.lastIndexOf()")}}.</dd>
- <dt>{{jsxref("TypedArray.prototype.map()")}}</dt>
- <dd>创建一个由原数组中的每个元素调用一个指定方法后的返回值组成的新数组.参见 {{jsxref("Array.prototype.map()")}}.</dd>
- <dt>{{jsxref("TypedArray.prototype.move()")}} {{non-standard_inline}} {{unimplemented_inline}}</dt>
- <dd>以前的不标准版本的 {{jsxref("TypedArray.prototype.copyWithin()")}}.</dd>
- <dt>{{jsxref("TypedArray.prototype.reduce()")}}</dt>
- <dd>接收一个函数作为累加器(accumulator),数组中的每个值(从左到右)开始合并,最终为一个值. 参见{{jsxref("Array.prototype.reduce()")}}.</dd>
- <dt>{{jsxref("TypedArray.prototype.reduceRight()")}}</dt>
- <dd>接受一个函数作为累加器(accumulator),让每个值(从右到左,亦即从尾到头)缩减为一个值.(与 <code>reduce()</code> 的执行方向相反). 参见{{jsxref("Array.prototype.reduceRight()")}}.</dd>
- <dt>{{jsxref("TypedArray.prototype.reverse()")}}</dt>
- <dd>颠倒数组中元素的位置。第一个元素会成为最后一个,最后一个会成为第一个. 参见 {{jsxref("Array.prototype.reverse()")}}.</dd>
- <dt>{{jsxref("TypedArray.prototype.set()")}}</dt>
- <dd>读取一个指定数组中的元素保存到格式化数组中.</dd>
- <dt>{{jsxref("TypedArray.prototype.slice()")}}</dt>
- <dd>浅复制(shallow copy)数组的一部分到一个新的数组,并返回这个新数组. 参见 {{jsxref("Array.prototype.slice()")}}.</dd>
- <dt>{{jsxref("TypedArray.prototype.some()")}}</dt>
- <dd>数组中只要有一个元素满足提供的测试函数的测试就返回true,否则返回false. 参见 {{jsxref("Array.prototype.some()")}}.</dd>
- <dt>{{jsxref("TypedArray.prototype.sort()")}}</dt>
- <dd>对数组进行排序,并返回原数组(是改变原数组). 参见 {{jsxref("Array.prototype.sort()")}}.</dd>
- <dt>{{jsxref("TypedArray.prototype.subarray()")}}</dt>
- <dd>返回给定的起始和结束索引之间的元素组成的新的类型化数组.</dd>
- <dt>{{jsxref("TypedArray.prototype.values()")}}</dt>
- <dd>返回有数组中的元素组成的新的数组迭代对象. 参见 {{jsxref("Array.prototype.values()")}}.</dd>
- <dt>{{jsxref("TypedArray.prototype.toLocaleString()")}}</dt>
- <dd>返回一个将数组中的每个元素本地化后组成的字符串. 参见 {{jsxref("Array.prototype.toLocaleString()")}}.</dd>
- <dt>{{jsxref("TypedArray.prototype.toString()")}}</dt>
- <dd>返回一个由数组中的每个元素字符串化后组成的字符串. 参见 {{jsxref("Array.prototype.toString()")}}.</dd>
- <dt>{{jsxref("TypedArray.prototype.@@iterator()", "TypedArray.prototype[@@iterator]()")}}</dt>
- <dd>返回一个包含数组中每个元素的新的数组迭代对象.</dd>
-</dl>
-
-<h2 id="规范">规范</h2>
-
-<table class="standard-table">
- <tbody>
- <tr>
- <th scope="col">规范</th>
- <th scope="col">状态</th>
- <th scope="col">备注</th>
- </tr>
- <tr>
- <td>{{SpecName('ES6', '#sec-properties-of-the-%typedarrayprototype%-object', 'TypedArray prototype')}}</td>
- <td>{{Spec2('ES6')}}</td>
- <td>Initial definition.</td>
- </tr>
- <tr>
- <td>{{SpecName('ESDraft', '#sec-properties-of-the-%typedarrayprototype%-object', 'TypedArray prototype')}}</td>
- <td>{{Spec2('ESDraft')}}</td>
- <td> </td>
- </tr>
- </tbody>
-</table>
-
-<h2 id="浏览器兼容">浏览器兼容</h2>
-
-<p>{{CompatibilityTable}}</p>
-
-<div id="compat-desktop">
-<table class="compat-table">
- <tbody>
- <tr>
- <th>Feature</th>
- <th>Chrome</th>
- <th>Firefox (Gecko)</th>
- <th>Internet Explorer</th>
- <th>Opera</th>
- <th>Safari</th>
- </tr>
- <tr>
- <td>Basic support</td>
- <td>7.0</td>
- <td>{{ CompatGeckoDesktop("2") }}</td>
- <td>10</td>
- <td>11.6</td>
- <td>5.1</td>
- </tr>
- </tbody>
-</table>
-</div>
-
-<div id="compat-mobile">
-<table class="compat-table">
- <tbody>
- <tr>
- <th>Feature</th>
- <th>Android</th>
- <th>Chrome for Android</th>
- <th>Firefox Mobile (Gecko)</th>
- <th>IE Mobile</th>
- <th>Opera Mobile</th>
- <th>Safari Mobile</th>
- </tr>
- <tr>
- <td>Basic support</td>
- <td>4.0</td>
- <td>{{CompatVersionUnknown}}</td>
- <td>{{ CompatGeckoMobile("2") }}</td>
- <td>10</td>
- <td>11.6</td>
- <td>4.2</td>
- </tr>
- </tbody>
-</table>
-</div>
-
-<h2 id="参见">参见</h2>
-
-<ul>
- <li><a href="/en-US/docs/Web/JavaScript/Typed_arrays">JavaScript typed arrays</a></li>
- <li>{{jsxref("TypedArray")}}</li>
-</ul>
diff --git a/files/zh-cn/web/javascript/reference/global_objects/typeerror/prototype/index.html b/files/zh-cn/web/javascript/reference/global_objects/typeerror/prototype/index.html
deleted file mode 100644
index 42abf0c422..0000000000
--- a/files/zh-cn/web/javascript/reference/global_objects/typeerror/prototype/index.html
+++ /dev/null
@@ -1,94 +0,0 @@
----
-title: TypeError.prototype
-slug: Web/JavaScript/Reference/Global_Objects/TypeError/prototype
-tags:
- - Error
- - JavaScript
- - TypeError
- - 原型
- - 错误
-translation_of: Web/JavaScript/Reference/Global_Objects/TypeError
-translation_of_original: Web/JavaScript/Reference/Global_Objects/TypeError/prototype
----
-<div>{{JSRef}}</div>
-
-<p><code><strong>TypeError.prototype</strong></code> 属性表示 {{jsxref("TypeError")}}构造函数的原型。</p>
-
-<p> </p>
-
-<h2 id="描述">描述</h2>
-
-<p>所有{{jsxref("TypeError")}}实例都继承自TypeError.prototype。您可以使用原型向所有实例添加属性或方法</p>
-
-<p> </p>
-
-<h2 id="属性">属性</h2>
-
-<dl>
- <dt><code>TypeError.prototype.constructor</code></dt>
- <dd>声明创建实例原型 (prototype) 的方法。</dd>
- <dt>{{jsxref("Error.prototype.message", "TypeError.prototype.message")}}</dt>
- <dd>错误信息。虽然 ECMA-262 规范指出 {{jsxref("TypeError")}} 应该实现其自身的 <code>message</code> 属性,但是在 <a href="/en-US/docs/Mozilla/Projects/SpiderMonkey">SpiderMonkey</a> 中,该属性继承自 {{jsxref("Error.prototype.message")}}。</dd>
- <dt>{{jsxref("Error.prototype.name", "TypeError.prototype.name")}}</dt>
- <dd>错误名称。继承自 {{jsxref("Error")}}。</dd>
- <dt>{{jsxref("Error.prototype.fileName", "TypeError.prototype.fileName")}}</dt>
- <dd>引起该错误的代码所在文件的路径。继承自 {{jsxref("Error")}}。</dd>
- <dt>{{jsxref("Error.prototype.lineNumber", "TypeError.prototype.lineNumber")}}</dt>
- <dd>引起错误的代码所在行的行号。继承自 {{jsxref("Error")}}。</dd>
- <dt>{{jsxref("Error.prototype.columnNumber", "TypeError.prototype.columnNumber")}}</dt>
- <dd>引起错误的代码所在列的列号。继承自 {{jsxref("Error")}}。</dd>
- <dt>{{jsxref("Error.prototype.stack", "TypeError.prototype.stack")}}</dt>
- <dd>堆栈跟踪记录。 继承自 {{jsxref("Error")}}。</dd>
-</dl>
-
-<h2 id="方法">方法</h2>
-
-<p>尽管 {{jsxref("TypeError")}} 不包含任何自己的方法, 但{{jsxref("TypeError")}}的实例通过原型链继承了一些方法。</p>
-
-<p> </p>
-
-<h2 id="规范">规范</h2>
-
-<table class="standard-table">
- <tbody>
- <tr>
- <th scope="col">规范</th>
- <th scope="col">状态</th>
- <th scope="col">说明</th>
- </tr>
- <tr>
- <td>{{SpecName('ES6', '#sec-nativeerror.prototype', 'NativeError.prototype')}}</td>
- <td>{{Spec2('ES6')}}</td>
- <td> 定义为 <code><em>NativeError</em>.prototype</code>.</td>
- </tr>
- <tr>
- <td>{{SpecName('ES5.1', '#sec-15.11.7.6', 'NativeError.prototype')}}</td>
- <td>{{Spec2('ES5.1')}}</td>
- <td> 定义为 <code><em>NativeError</em>.prototype</code>.</td>
- </tr>
- <tr>
- <td>{{SpecName('ES3', '#sec-15.11.7.6', 'NativeError.prototype')}}</td>
- <td>{{Spec2('ES3')}}</td>
- <td> 初始定义</td>
- </tr>
- </tbody>
-</table>
-
-<h2 id="浏览器兼容性">浏览器兼容性</h2>
-
-<div class="hidden">
-<p>The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>and send us a pull request.</p>
-
-<p> </p>
-</div>
-
-<p>{{Compat("javascript.builtins.TypeError")}}</p>
-
-<div id="compat-desktop"> </div>
-
-<h2 id="相关链接">相关链接</h2>
-
-<ul>
- <li>{{jsxref("Error.prototype")}}</li>
- <li>{{jsxref("Function.prototype")}}</li>
-</ul>
diff --git a/files/zh-cn/web/javascript/reference/global_objects/urierror/prototype/index.html b/files/zh-cn/web/javascript/reference/global_objects/urierror/prototype/index.html
deleted file mode 100644
index c5d381250a..0000000000
--- a/files/zh-cn/web/javascript/reference/global_objects/urierror/prototype/index.html
+++ /dev/null
@@ -1,83 +0,0 @@
----
-title: URIError.prototype
-slug: Web/JavaScript/Reference/Global_Objects/URIError/prototype
-translation_of: Web/JavaScript/Reference/Global_Objects/URIError
-translation_of_original: Web/JavaScript/Reference/Global_Objects/URIError/prototype
----
-<div>{{JSRef}}</div>
-
-<div><code><strong>URIError.prototype</strong></code> 属性表示 {{jsxref("URIError")}} 构造器的原型。</div>
-
-<h2 id="描述">描述</h2>
-
-<p>所有的 {{jsxref("URIError")}} 实例都继承自 <code>URIError.prototype</code>。 可以通过原型(prototype) 给所有的实例添加属性或者方法。</p>
-
-<h2 id="属性">属性</h2>
-
-<dl>
- <dt><code>URIError.prototype.constructor</code></dt>
- <dd>声明创建实例原型 (prototype) 的方法。</dd>
- <dt>{{jsxref("Error.prototype.message", "URIError.prototype.message")}}</dt>
- <dd>错误信息。虽然 ECMA-262 规范指出 {{jsxref("URIError")}} 应该提供其自己专属的 <code><strong>message</strong></code><strong> </strong>属性,但是在 <a href="https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey">SpiderMonkey</a> 中,该属性继承自 {{jsxref("Error.prototype.message")}}</dd>
- <dt>{{jsxref("Error.prototype.name", "URIError.prototype.name")}}</dt>
- <dd>错误名称。继承自 {{jsxref("Error")}}。</dd>
- <dt>{{jsxref("Error.prototype.fileName", "URIError.prototype.fileName")}}</dt>
- <dd>产生该错误的代码所在文件的路径。 继承自 {{jsxref("Error")}}。</dd>
- <dt>{{jsxref("Error.prototype.lineNumber", "URIError.prototype.lineNumber")}}</dt>
- <dd>产生该错误的代码所在行的行号。继承自 {{jsxref("Error")}}。</dd>
- <dt>{{jsxref("Error.prototype.columnNumber", "URIError.prototype.columnNumber")}}</dt>
- <dd>产生该错误的代码所在列的列号。 继承自 {{jsxref("Error")}}。</dd>
- <dt>{{jsxref("Error.prototype.stack", "URIError.prototype.stack")}}</dt>
- <dd>堆栈记录。继承自 {{jsxref("Error")}}。</dd>
-</dl>
-
-<h2 id="方法">方法</h2>
-
-<p>虽然 {{jsxref("URIError")}} 的原型对象自身不包含任何方法,但是 {{jsxref("URIError")}} 的实例通过原型链(prototype chain)继承了一些方法。</p>
-
-<h2 id="规范">规范</h2>
-
-<table class="standard-table">
- <tbody>
- <tr>
- <th scope="col">Specification</th>
- <th scope="col">Status</th>
- <th scope="col">Comment</th>
- </tr>
- <tr>
- <td>{{SpecName('ES3', '#sec-15.11.7.6', 'NativeError.prototype')}}</td>
- <td>{{Spec2('ES3')}}</td>
- <td> 初始定义</td>
- </tr>
- <tr>
- <td>{{SpecName('ES5.1', '#sec-15.11.7.6', 'NativeError.prototype')}}</td>
- <td>{{Spec2('ES5.1')}}</td>
- <td> 定义为 <code><em>NativeError</em>.prototype</code>.</td>
- </tr>
- <tr>
- <td>{{SpecName('ES6', '#sec-nativeerror.prototype', 'NativeError.prototype')}}</td>
- <td>{{Spec2('ES6')}}</td>
- <td><font face="Open Sans, arial, x-locale-body, sans-serif"><span style="background-color: rgba(212, 221, 228, 0.15);"> 定义为</span></font><code><em>NativeError</em>.prototype</code>.</td>
- </tr>
- <tr>
- <td>{{SpecName('ESDraft', '#sec-nativeerror.prototype', 'NativeError.prototype')}}</td>
- <td>{{Spec2('ESDraft')}}</td>
- <td><font face="Open Sans, arial, x-locale-body, sans-serif"><span style="background-color: rgba(212, 221, 228, 0.25);"> 定义为</span></font><code><em>NativeError</em>.prototype</code>.</td>
- </tr>
- </tbody>
-</table>
-
-<h2 id="浏览器兼容性">浏览器兼容性</h2>
-
-<div>
-
-
-<p>{{Compat("javascript.builtins.URIError")}}</p>
-</div>
-
-<h2 id="相关链接">相关链接</h2>
-
-<ul>
- <li>{{jsxref("Error.prototype")}}</li>
- <li>{{jsxref("Function.prototype")}}</li>
-</ul>
diff --git a/files/zh-cn/web/javascript/reference/global_objects/weakmap/prototype/index.html b/files/zh-cn/web/javascript/reference/global_objects/weakmap/prototype/index.html
deleted file mode 100644
index 27f1ff412a..0000000000
--- a/files/zh-cn/web/javascript/reference/global_objects/weakmap/prototype/index.html
+++ /dev/null
@@ -1,138 +0,0 @@
----
-title: WeakMap.prototype
-slug: Web/JavaScript/Reference/Global_Objects/WeakMap/prototype
-translation_of: Web/JavaScript/Reference/Global_Objects/WeakMap
-translation_of_original: Web/JavaScript/Reference/Global_Objects/WeakMap/prototype
----
-<div>{{JSRef}}</div>
-
-<p><code><strong>WeakMap</strong></code><strong><code>.prototype</code></strong>属性表现为 {{jsxref("WeakMap")}}的构造器。</p>
-
-<div>{{js_property_attributes(0,0,0)}}</div>
-
-<h2 id="描述">描述</h2>
-
-<p>{{jsxref("WeakMap")}} 实例从 {{jsxref("WeakMap.prototype")}}继承了所有属性。你可以在<code>WeakMap构造器中添加属性和方法,从而使得所有</code>实例中都有效。</p>
-
-<p><code>WeakMap.prototype</code> 本身只是一个普通的对象:</p>
-
-<pre class="brush: js">Object.prototype.toString.call(WeakMap.prototype); // "[object Object]"</pre>
-
-<h2 id="属性">属性</h2>
-
-<dl>
- <dt><code>WeakMap.prototype.constructor</code></dt>
- <dd>返回创建WeakMap实例的原型函数。 {{jsxref("WeakMap")}}函数是默认的。</dd>
-</dl>
-
-<h2 id="方法">方法</h2>
-
-<dl>
- <dt>{{jsxref("WeakMap.delete", "WeakMap.prototype.delete(key)")}}</dt>
- <dd>移除key的关联对象。执行后 <code>WeakMap.prototype.has(key)返回</code><code>false。</code></dd>
- <dt>{{jsxref("WeakMap.get", "WeakMap.prototype.get(key)")}}</dt>
- <dd>返回<code>key关联对象</code>, 或者 <code>undefined</code>(没有key关联对象时)。</dd>
- <dt>{{jsxref("WeakMap.has", "WeakMap.prototype.has(key)")}}</dt>
- <dd>根据是否有key关联对象返回一个Boolean值。</dd>
- <dt>{{jsxref("WeakMap.set", "WeakMap.prototype.set(key, value)")}}</dt>
- <dd>在WeakMap中设置一组key关联对象,返回这个 <code>WeakMap</code>对象。</dd>
- <dt><s class="obsoleteElement">{{jsxref("WeakMap.prototype.clear()")}} {{obsolete_inline}}</s></dt>
- <dd><s class="obsoleteElement">从<code>WeakMap中移除所有的</code> key/value 。 注意,该方法已弃用,但可以通过创建一个空的WeakMap并替换原对象来实现 (参看 {{jsxref("WeakMap")}}的后半部分)</s></dd>
-</dl>
-
-<h2 id="规范">规范</h2>
-
-<table class="standard-table">
- <tbody>
- <tr>
- <th scope="col">Specification</th>
- <th scope="col">Status</th>
- <th scope="col">Comment</th>
- </tr>
- <tr>
- <td>{{SpecName('ES6', '#sec-weakmap.prototype', 'WeakMap.prototype')}}</td>
- <td>{{Spec2('ES6')}}</td>
- <td>Initial definition.</td>
- </tr>
- <tr>
- <td>{{SpecName('ESDraft', '#sec-weakmap.prototype', 'WeakMap.prototype')}}</td>
- <td>{{Spec2('ESDraft')}}</td>
- <td> </td>
- </tr>
- </tbody>
-</table>
-
-<h2 id="浏览器兼容">浏览器兼容</h2>
-
-<p>{{CompatibilityTable}}</p>
-
-<div id="compat-desktop">
-<table class="compat-table">
- <tbody>
- <tr>
- <th>Feature</th>
- <th>Chrome</th>
- <th>Firefox (Gecko)</th>
- <th>Internet Explorer</th>
- <th>Opera</th>
- <th>Safari</th>
- </tr>
- <tr>
- <td>Basic support</td>
- <td>36</td>
- <td>{{CompatGeckoDesktop("6.0")}}</td>
- <td>11</td>
- <td>23</td>
- <td>7.1</td>
- </tr>
- <tr>
- <td>Ordinary object</td>
- <td>{{CompatUnknown}}</td>
- <td>{{CompatGeckoDesktop("40")}}</td>
- <td>{{CompatUnknown}}</td>
- <td>{{CompatUnknown}}</td>
- <td>{{CompatUnknown}}</td>
- </tr>
- </tbody>
-</table>
-</div>
-
-<div id="compat-mobile">
-<table class="compat-table">
- <tbody>
- <tr>
- <th>Feature</th>
- <th>Android</th>
- <th>Chrome for Android</th>
- <th>Firefox Mobile (Gecko)</th>
- <th>IE Mobile</th>
- <th>Opera Mobile</th>
- <th>Safari Mobile</th>
- </tr>
- <tr>
- <td>Basic support</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatGeckoMobile("6.0")}}</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatNo}}</td>
- <td>8</td>
- </tr>
- <tr>
- <td>Ordinary object</td>
- <td>{{CompatUnknown}}</td>
- <td>{{CompatUnknown}}</td>
- <td>{{CompatGeckoMobile("40")}}</td>
- <td>{{CompatUnknown}}</td>
- <td>{{CompatUnknown}}</td>
- <td>{{CompatUnknown}}</td>
- </tr>
- </tbody>
-</table>
-</div>
-
-<h2 id="另请参阅">另请参阅</h2>
-
-<ul>
- <li>{{jsxref("Map.prototype")}}</li>
-</ul>
diff --git a/files/zh-cn/web/javascript/reference/global_objects/weakset/prototype/index.html b/files/zh-cn/web/javascript/reference/global_objects/weakset/prototype/index.html
deleted file mode 100644
index 572ab1ac73..0000000000
--- a/files/zh-cn/web/javascript/reference/global_objects/weakset/prototype/index.html
+++ /dev/null
@@ -1,115 +0,0 @@
----
-title: WeakSet.prototype
-slug: Web/JavaScript/Reference/Global_Objects/WeakSet/prototype
-translation_of: Web/JavaScript/Reference/Global_Objects/WeakSet
-translation_of_original: Web/JavaScript/Reference/Global_Objects/WeakSet/prototype
----
-<div>{{JSRef("Global_Objects", "WeakSet")}}</div>
-
-<h2 id="Summary" name="Summary">Summary</h2>
-
-<p>The <code><strong>WeakSet</strong></code><strong><code>.prototype</code></strong> property represents the prototype for the {{jsxref("WeakSet")}} constructor.</p>
-
-<div>{{js_property_attributes(0,0,0)}}</div>
-
-<h2 id="Description" name="Description">Description</h2>
-
-<p>{{jsxref("WeakSet")}} instances inherit from {{jsxref("WeakSet.prototype")}}. You can use the constructor's prototype object to add properties or methods to all <code>WeakSet</code> instances.</p>
-
-<h2 id="Properties">Properties</h2>
-
-<dl>
- <dt><code>WeakSet.prototype.constructor</code></dt>
- <dd>返回构造函数即 {{jsxref("WeakSet")}} 本身.</dd>
-</dl>
-
-<h2 id="Methods">Methods</h2>
-
-<dl>
- <dt>{{jsxref("WeakSet.add", "WeakSet.prototype.add(value)")}}</dt>
- <dd> 在<span style="line-height: 1.5;">该 </span><code style="font-size: 14px;">WeakSet</code><span style="line-height: 1.5;"> 对象中添加一个新元素 <code>value</code>.</span></dd>
- <dt>{{jsxref("WeakSet.delete", "WeakSet.prototype.delete(value)")}}</dt>
- <dd>从<span style="line-height: 1.5;">该 </span><code style="font-size: 14px;">WeakSet</code><span style="line-height: 1.5;"> 对象中删除</span><span style="line-height: 1.5;"> </span><code style="font-size: 14px;">value </code><span style="line-height: 1.5;">这个元素, 之后 </span><code style="font-size: 14px;">WeakSet.prototype.has(value)</code><span style="line-height: 1.5;"> 方法便会返回 </span><code style="font-size: 14px;">false</code><span style="line-height: 1.5;">.</span></dd>
- <dt>{{jsxref("WeakSet.has", "WeakSet.prototype.has(value)")}}</dt>
- <dd>返回一个布尔值,  表示给定的值 <code>value</code> 是否存在于这个 <code>WeakSet</code> 中.</dd>
-</dl>
-
-<h2 id="Specifications">Specifications</h2>
-
-<table class="standard-table">
- <tbody>
- <tr>
- <th scope="col">Specification</th>
- <th scope="col">Status</th>
- <th scope="col">Comment</th>
- </tr>
- <tr>
- <td>{{SpecName('ES6', '#sec-weakset.prototype', 'WeakSet.prototype')}}</td>
- <td>{{Spec2('ES6')}}</td>
- <td>Initial definition.</td>
- </tr>
- </tbody>
-</table>
-
-<h2 id="Browser_compatibility">Browser compatibility</h2>
-
-<p>{{ CompatibilityTable() }}</p>
-
-<div id="compat-desktop">
-<table class="compat-table">
- <tbody>
- <tr>
- <th>Feature</th>
- <th>Chrome</th>
- <th>Firefox (Gecko)</th>
- <th>Internet Explorer</th>
- <th>Opera</th>
- <th>Safari</th>
- </tr>
- <tr>
- <td>Basic support</td>
- <td>{{ CompatVersionUnknown() }}</td>
- <td>{{ CompatNo() }} {{bug(792439)}}</td>
- <td>{{ CompatNo() }}</td>
- <td>{{ CompatNo() }}</td>
- <td>{{ CompatNo() }}</td>
- </tr>
- </tbody>
-</table>
-</div>
-
-<div id="compat-mobile">
-<table class="compat-table">
- <tbody>
- <tr>
- <th>Feature</th>
- <th>Android</th>
- <th>Firefox Mobile (Gecko)</th>
- <th>IE Mobile</th>
- <th>Opera Mobile</th>
- <th>Safari Mobile</th>
- </tr>
- <tr>
- <td>Basic support</td>
- <td>{{ CompatNo() }}</td>
- <td>{{ CompatNo() }} {{bug(792439)}}</td>
- <td>{{ CompatNo() }}</td>
- <td>{{ CompatNo() }}</td>
- <td>{{ CompatNo() }}</td>
- </tr>
- </tbody>
-</table>
-</div>
-
-<h3 id="Chrome-specific_notes">Chrome-specific notes</h3>
-
-<ul>
- <li>This feature is available behind a preference. In <code style="font-size: 14px;">chrome://flags</code>, activate the entry “Enable Experimental JavaScript”.</li>
-</ul>
-
-<h2 id="See_also">See also</h2>
-
-<ul>
- <li>{{jsxref("Set.prototype")}}</li>
- <li>{{jsxref("WeakMap.prototype")}}</li>
-</ul>
diff --git a/files/zh-cn/web/javascript/reference/operators/相加/index.html b/files/zh-cn/web/javascript/reference/operators/addition/index.html
index 6da432b4e6..6da432b4e6 100644
--- a/files/zh-cn/web/javascript/reference/operators/相加/index.html
+++ b/files/zh-cn/web/javascript/reference/operators/addition/index.html
diff --git a/files/zh-cn/web/javascript/reference/operators/arithmetic_operators/index.html b/files/zh-cn/web/javascript/reference/operators/arithmetic_operators/index.html
deleted file mode 100644
index 917ac03b06..0000000000
--- a/files/zh-cn/web/javascript/reference/operators/arithmetic_operators/index.html
+++ /dev/null
@@ -1,302 +0,0 @@
----
-title: 算术运算符
-slug: Web/JavaScript/Reference/Operators/Arithmetic_Operators
-tags:
- - JavaScript
- - Operator
-translation_of: Web/JavaScript/Reference/Operators
-translation_of_original: Web/JavaScript/Reference/Operators/Arithmetic_Operators
----
-<div>{{jsSidebar("Operators")}}</div>
-
-<p><strong>算术运算符</strong>以数值(字面量或变量)作为其操作数,并返回一个单个数值。标准算术运算符是加法(+),减法(-),乘法(*)和除法(/)。</p>
-
-<div>{{EmbedInteractiveExample("pages/js/expressions-arithmetic.html")}}</div>
-
-
-
-<h2 id="加法">加法 (+)</h2>
-
-<p>加法运算符的作用是数值求和,或者字符串拼接。</p>
-
-<h3 id="语法">语法</h3>
-
-<pre class="syntaxbox notranslate"><strong>运算符:</strong> x + y
-</pre>
-
-<h3 id="示例">示例</h3>
-
-<pre class="brush: js notranslate">// Number + Number -&gt; 数字相加
-1 + 2 // 3
-
-// Boolean + Number -&gt; 数字相加
-true + 1 // 2
-
-// Boolean + Boolean -&gt; 数字相加
-false + false // 0
-
-// Number + String -&gt; 字符串连接
-5 + "foo" // "5foo"
-
-// String + Boolean -&gt; 字符串连接
-"foo" + false // "foofalse"
-
-// String + String -&gt; 字符串连接
-"foo" + "bar" // "foobar"
-</pre>
-
-<h2 id="减法_-">减法 (-)</h2>
-
-<p>减法运算符使两个操作数相减,结果是它们的差值。</p>
-
-<h3 id="语法_2">语法</h3>
-
-<pre class="syntaxbox notranslate"><strong>运算符:</strong> x - y
-</pre>
-
-<h3 id="示例_2">示例</h3>
-
-<pre class="brush: js notranslate">5 - 3 // 2
-3 - 5 // -2
-"foo" - 3 // NaN</pre>
-
-<h2 id="除法">除法 (/)</h2>
-
-<p>除法运算符的结果是操作数的商 ,左操作数是被除数,右操作数是除数。</p>
-
-<h3 id="语法_3">语法</h3>
-
-<pre class="syntaxbox notranslate"><strong>运算符:</strong> x / y
-</pre>
-
-<h3 id="示例_3">示例</h3>
-
-<pre class="brush: js notranslate">1 / 2 // 在 JavaScript 中返回 0.5
-1 / 2 // 在 Java 中返回 0
-// (不需要数字是明确的浮点数)
-
-1.0 / 2.0 // 在 JavaScript 或 Java 中都返回 0.5
-
-2.0 / 0 // 在 JavaScript 中返回 Infinity
-2.0 / 0.0 // 同样返回 Infinity
-2.0 / -0.0 // 在 JavaScript 中返回 -Infinity</pre>
-
-<h2 id="乘法_*">乘法 (*)</h2>
-
-<p>乘法运算符的结果是操作数的乘积。</p>
-
-<h3 id="语法_4">语法</h3>
-
-<pre class="syntaxbox notranslate"><strong>运算符:</strong> x * y
-</pre>
-
-<h3 id="示例_4">示例</h3>
-
-<pre class="brush: js notranslate">2 * 2 // 4
--2 * 2 // -4
-Infinity * 0 // NaN
-Infinity * Infinity // Infinity
-"foo" * 2 // NaN
-</pre>
-
-<h2 id="求余">求余 (%)</h2>
-
-<p>求余运算符返回第一个操作数对第二个操作数的模,即 <code>var1</code> 对 <code>var2</code> 取模,其中 <code>var1</code> 和 <code>var2</code> 是变量。取模功能就是 <code>var1</code> 除以 <code>var2</code> 的整型余数。</p>
-
-<h3 id="语法_5">语法</h3>
-
-<pre class="syntaxbox notranslate"><strong>运算符:</strong> var1 % var2
-</pre>
-
-<h3 id="示例_5">示例</h3>
-
-<pre class="brush: js notranslate">12 % 5 // 2
--1 % 2 // -1
-NaN % 2 // NaN
-1 % 2 // 1
-2 % 3 // 2
--4 % 2 // -0
-5.5 % 2 // 1.5
-</pre>
-
-<h2 id="幂_**">幂 (**)</h2>
-
-<p>幂运算符返回第一个操作数做底数,第二个操作数做指数的乘方。即,<code>var1</code><sup><code>var2</code></sup>,其中 <code>var1</code> 和 <code>var2</code> 是其两个操作数。幂运算符是右结合的。<code>a ** b ** c</code> 等同于 <code>a ** (b ** c)</code>。</p>
-
-<h3 id="语法_6">语法</h3>
-
-<pre class="syntaxbox notranslate"><strong>运算符:</strong> var1 ** var2
-</pre>
-
-<h3 id="注解">注解</h3>
-
-<p>包括 PHP 或 Python 等的大多数语言中,都包含幂运算符(一般来说符号是 ^ 或者 **)。这些语言中的幂运算符有着比其他的单目运算符(如一元 + 或一元 - )更高的优先级。但是作为例外,在 Bash 中,**  运算符被设计为比单目运算符优先级更低。在最新的 JavaScript(ES2016) 中,禁止使用带歧义的幂运算表达式。比如,底数前不能紧跟一元运算符(<code>+/-/~/!/delete/void/typeof</code>)。</p>
-
-<pre class="brush: js notranslate">-2 ** 2;
-// 在 Bash 中等于 4 ,而在其他语言中一般等于 -4
-// 在 JavaScript 中是错误的,因为这会有歧义
-
--(2 ** 2);
-// -4 在 JavaScript 中能够明显体现出作者的意图</pre>
-
-<h3 id="示例_6">示例</h3>
-
-<pre class="brush: js notranslate">2 ** 3 // 8
-3 ** 2 // 9
-3 ** 2.5 // 15.588457268119896
-10 ** -1 // 0.1
-NaN ** 2 // NaN
-
-2 ** 3 ** 2 // 512
-2 ** (3 ** 2) // 512
-(2 ** 3) ** 2 // 64
-</pre>
-
-<p>如果要反转求幂表达式结果的符号,你可以采用这样的方式:</p>
-
-<pre class="brush: js notranslate">-(2 ** 2) // -4</pre>
-
-<p>强制求幂表达式的基数为负数:</p>
-
-<pre class="brush: js notranslate">(-2) ** 2 // 4</pre>
-
-<h2 id="递增">递增 (++)</h2>
-
-<p>递增运算符为其操作数增加1,返回一个数值。</p>
-
-<ul>
- <li>如果使用后置(postfix),即运算符位于操作数的后面(如 x++),那么将会在递增前返回数值。</li>
- <li>如果使用前置(prefix),即运算符位于操作数的前面(如 ++x),那么将会在递增后返回数值。</li>
-</ul>
-
-<h3 id="语法_7">语法</h3>
-
-<pre class="syntaxbox notranslate"><strong>运算符:</strong> x++ 或者 ++x
-</pre>
-
-<h3 id="示例_7">示例</h3>
-
-<pre class="brush: js notranslate">// 后置
-var x = 3;
-y = x++;
-// y = 3, x = 4
-
-// 前置
-var a = 2;
-b = ++a;
-// a = 3, b = 3
-</pre>
-
-<h2 id="递减_--">递减 (--)</h2>
-
-<p>递减运算符将其操作数减去1,并返回一个数值。</p>
-
-<ul>
- <li>如果后置使用(如 x--),则在递减前返回数值。</li>
- <li>如果前置使用(如 --x),则在递减后返回数值。</li>
-</ul>
-
-<h3 id="语法_8">语法</h3>
-
-<pre class="syntaxbox notranslate"><strong>运算符:</strong> x-- or --x
-</pre>
-
-<h3 id="示例_8">示例</h3>
-
-<pre class="brush: js notranslate">// 后置
-var x = 3;
-y = x--; // y = 3, x = 2
-
-// 前置
-var a = 2;
-b = --a; // a = 1, b = 1
-</pre>
-
-<h2 id="一元负号_-">一元负号 (-)</h2>
-
-<p>一元负号运算符位于操作数前面,并转换操作数的符号。</p>
-
-<h3 id="语法_9">语法</h3>
-
-<pre class="syntaxbox notranslate"><strong>运算符:</strong> -x
-</pre>
-
-<h3 id="示例_9">示例</h3>
-
-<pre class="brush: js notranslate">var x = 3;
-y = -x; // y = -3, x = 3
-</pre>
-
-<h2 id="一元正号">一元正号 (+)</h2>
-
-<p>一元正号运算符位于其操作数前面,计算其操作数的数值,如果操作数不是一个数值,会尝试将其转换成一个数值。 尽管一元负号也能转换非数值类型,但是一元正号是转换其他对象到数值的最快方法,也是最推荐的做法,因为它不会对数值执行任何多余操作。它可以将字符串转换成整数和浮点数形式,也可以转换非字符串值 <code>true</code>,<code>false</code> <code>和</code> <code>null</code>。小数和十六进制格式字符串也可以转换成数值。负数形式字符串也可以转换成数值(对于十六进制不适用)。如果它不能解析一个值,则计算结果为 <a href="/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/NaN">NaN</a>。</p>
-
-<h3 id="语法_10">语法</h3>
-
-<pre class="syntaxbox notranslate"><strong>运算符:</strong> +x
-</pre>
-
-<h3 id="示例_10">示例</h3>
-
-<pre class="brush: js notranslate">+3 // 3
-+"3" // 3
-+true // 1
-+false // 0
-+null // 0
-+function(val){ return val;} //NaN</pre>
-
-<h2 id="规范">规范</h2>
-
-<table class="standard-table">
- <tbody>
- <tr>
- <th scope="col">Specification</th>
- <th scope="col">Status</th>
- <th scope="col">Comment</th>
- </tr>
- <tr>
- <td>{{SpecName('ES1')}}</td>
- <td>{{Spec2('ES1')}}</td>
- <td>Initial definition.</td>
- </tr>
- <tr>
- <td>{{SpecName('ES5.1', '#sec-11.3')}}</td>
- <td>{{Spec2('ES5.1')}}</td>
- <td>Defined in several sections of the specification: <a href="http://www.ecma-international.org/ecma-262/5.1/#sec-11.6">Additive operators</a>, <a href="http://www.ecma-international.org/ecma-262/5.1/#sec-11.5">Multiplicative operators</a>, <a href="http://www.ecma-international.org/ecma-262/5.1/#sec-11.3">Postfix expressions</a>, <a href="http://www.ecma-international.org/ecma-262/5.1/#sec-11.4">Unary operators</a>.</td>
- </tr>
- <tr>
- <td>{{SpecName('ES2015', '#sec-postfix-expressions')}}</td>
- <td>{{Spec2('ES2015')}}</td>
- <td>Defined in several sections of the specification: <a href="http://www.ecma-international.org/ecma-262/6.0/#sec-additive-operators">Additive operators</a>, <a href="http://www.ecma-international.org/ecma-262/6.0/#sec-multiplicative-operators">Multiplicative operators</a>, <a href="http://www.ecma-international.org/ecma-262/6.0/#sec-postfix-expressions">Postfix expressions</a>, <a href="http://www.ecma-international.org/ecma-262/6.0/#sec-unary-operators">Unary operators</a>.</td>
- </tr>
- <tr>
- <td>{{SpecName('ES2016', '#sec-postfix-expressions')}}</td>
- <td>{{Spec2('ES2016')}}</td>
- <td>Added <a href="https://github.com/rwaldron/exponentiation-operator">Exponentiation operator</a>.</td>
- </tr>
- <tr>
- <td>{{SpecName('ES2017', '#sec-postfix-expressions')}}</td>
- <td>{{Spec2('ES2017')}}</td>
- <td></td>
- </tr>
- <tr>
- <td>{{SpecName('ESDraft', '#sec-additive-operators')}}</td>
- <td>{{Spec2('ESDraft')}}</td>
- <td></td>
- </tr>
- </tbody>
-</table>
-
-<h2 id="浏览器兼容性">浏览器兼容性</h2>
-
-<div class="hidden">
-<p>The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> and send us a pull request.</p>
-</div>
-
-<p>{{Compat("javascript.operators.arithmetic")}}</p>
-
-<h2 id="相关链接">相关链接</h2>
-
-<ul>
- <li><a href="/zh-CN/docs/Web/JavaScript/Reference/Operators/Assignment_Operators">赋值运算符</a></li>
-</ul>
diff --git a/files/zh-cn/web/javascript/reference/operators/assignment_operators/index.html b/files/zh-cn/web/javascript/reference/operators/assignment_operators/index.html
deleted file mode 100644
index 66ae471cde..0000000000
--- a/files/zh-cn/web/javascript/reference/operators/assignment_operators/index.html
+++ /dev/null
@@ -1,413 +0,0 @@
----
-title: 赋值运算符
-slug: Web/JavaScript/Reference/Operators/Assignment_Operators
-tags:
- - JavaScript
- - 运算符
-translation_of: Web/JavaScript/Reference/Operators#Assignment_operators
-translation_of_original: Web/JavaScript/Reference/Operators/Assignment_Operators
----
-<div>{{jsSidebar("Operators")}}</div>
-
-<p>赋值运算符(<strong>assignment operator</strong>)基于右值(right operand)的值,给左值(left operand)赋值。</p>
-
-<div>{{EmbedInteractiveExample("pages/js/expressions-assignment.html")}}</div>
-
-<p class="hidden">本文的交互示例的源代码存储在GithHub仓库。如果你愿意贡献更多交互示例,请克隆仓库 <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> 并提交 pull request.</p>
-
-<h2 id="概述">概述</h2>
-
-<p>基本的赋值运算符是等号(<code>=</code>),该运算符把它右边的运算值赋给左边。即,<code>x = y</code> 把 <code>y</code> 的值赋给 <code>x</code>。 其他的赋值运算符通常是标准运算符的简写形式,如下面的定义与示例。 </p>
-
-<table class="standard-table">
- <tbody>
- <tr>
- <th>名称</th>
- <th>简写形式</th>
- <th>含义</th>
- </tr>
- <tr>
- <td><a href="#Assignment">赋值(Assignment)</a></td>
- <td><code>x = y</code></td>
- <td><code>x = y</code></td>
- </tr>
- <tr>
- <td><a href="#Addition_assignment">加赋值(Addition assignment)</a></td>
- <td><code>x += y</code></td>
- <td><code>x = x + y</code></td>
- </tr>
- <tr>
- <td><a href="#Subtraction_assignment">减赋值(Subtraction assignment)</a></td>
- <td><code>x -= y</code></td>
- <td><code>x = x - y</code></td>
- </tr>
- <tr>
- <td><a href="#Multiplication_assignment">乘赋值(Multiplication assigment)</a></td>
- <td><code>x *= y</code></td>
- <td><code>x = x * y</code></td>
- </tr>
- <tr>
- <td><a href="#Division_assignment">除赋值(Division assignment)</a></td>
- <td><code>x /= y</code></td>
- <td><code>x = x / y</code></td>
- </tr>
- <tr>
- <td><a href="#Remainder_assignment">模赋值(Remainder assignment)</a></td>
- <td><code>x %= y</code></td>
- <td><code>x = x % y</code></td>
- </tr>
- <tr>
- <td><a href="#Exponentiation_assignment">指数赋值(Exponentiation assignment)</a></td>
- <td><code>x **= y</code></td>
- <td><code>x = x ** y</code></td>
- </tr>
- <tr>
- <td><a href="#Left_shift_assignment">左移赋值(Left shift assignment)</a></td>
- <td><code>x &lt;&lt;= y</code></td>
- <td><code>x = x &lt;&lt; y</code></td>
- </tr>
- <tr>
- <td><a href="#Right_shift_assignment">右移赋值(Right shift assignment)</a></td>
- <td><code>x &gt;&gt;= y</code></td>
- <td><code>x = x &gt;&gt; y</code></td>
- </tr>
- <tr>
- <td><a href="#Unsigned_right_shift_assignment">无符号右移赋值(Unsigned right shift assignment)</a></td>
- <td><code>x &gt;&gt;&gt;= y</code></td>
- <td><code>x = x &gt;&gt;&gt; y</code></td>
- </tr>
- <tr>
- <td><a href="#Bitwise_AND_assignment">按位与赋值(Bitwise AND assignment)</a></td>
- <td><code>x &amp;= y</code></td>
- <td><code>x = x &amp; y</code></td>
- </tr>
- <tr>
- <td><a href="#Bitwise_XOR_assignment">按位异或赋值(Bitwise XOR assignment)</a></td>
- <td><code>x ^= y</code></td>
- <td><code>x = x ^ y</code></td>
- </tr>
- <tr>
- <td><a href="#Bitwise_OR_assignment">按位或赋值(Bitwise OR assignment)</a></td>
- <td><code>x |= y</code></td>
- <td><code>x = x | y</code></td>
- </tr>
- </tbody>
-</table>
-
-<h2 id="赋值"><a name="Assignment">赋值</a></h2>
-
-<p>简单的赋值运算符,把一个值赋给一个变量。为了把一个值赋给多个变量,可以以链式使用赋值运算符。参考下例:</p>
-
-<h4 id="语法">语法</h4>
-
-<pre class="syntaxbox"><strong>Operator:</strong> x = y
-</pre>
-
-<h4 id="示例">示例</h4>
-
-<pre class="brush: js">// Assuming the following variables
-// x = 5
-// y = 10
-// z = 25
-
-x = y // x is 10
-x = y = z // x, y and z are all 25
-</pre>
-
-<h3 id="加赋值(Addition_assignment)"><a name="Addition_assignment">加赋值(Addition assignment)</a></h3>
-
-<p>加赋值运算符把一个右值与一个变量相加,然后把相加的结果赋给该变量。两个操作数的类型决定了加赋值运算符的行为。算术相加或字符串连接都有可能。更多细节参考 {{jsxref("Operators/Arithmetic_Operators", "addition operator", "#Addition", 1)}}。</p>
-
-<h4 id="语法_2">语法</h4>
-
-<pre class="syntaxbox"><strong>Operator:</strong> x += y
-<strong>Meaning:</strong> x = x + y
-</pre>
-
-<h4 id="示例_2">示例</h4>
-
-<pre class="brush: js">// 定义下列变量
-// foo = 'foo'
-// bar = 5
-// baz = true
-
-
-// Number + Number -&gt; addition
-bar += 2 // 7
-
-// Boolean + Number -&gt; addition
-baz += 1 // 2
-
-// Boolean + Boolean -&gt; addition
-baz += false // 1
-
-// Number + String -&gt; concatenation
-bar += 'foo' // "5foo"
-
-// String + Boolean -&gt; concatenation
-foo += false // "foofalse"
-
-// String + String -&gt; concatenation
-foo += 'bar' // "foobar"
-</pre>
-
-<h3 id="减赋值(Subtraction_assignment)"><a name="Subtraction_assignment">减赋值(Subtraction assignment)</a></h3>
-
-<p>减赋值运算符使一个变量减去右值,然后把结果赋给该变量。更多细节查看 {{jsxref("Operators/Arithmetic_Operators", "subtraction operator", "#Subtraction", 1)}} 。</p>
-
-<h4 id="语法_3">语法</h4>
-
-<pre class="syntaxbox"><strong>Operator:</strong> x -= y
-<strong>Meaning:</strong> x = x - y
-</pre>
-
-<h4 id="示例_3">示例</h4>
-
-<pre class="brush: js">// 假定已定义了下面的变量
-// bar = 5
-
-bar -= 2 // 3
-bar -= "foo" // NaN
-</pre>
-
-<h3 id="乘赋值(Multiplication_assignment)"><a name="Multiplication_assignment">乘赋值(Multiplication assignment)</a></h3>
-
-<p>乘赋值运算符使一个变量乘以右值,然后把相成的结果赋给该变量。更多细节查看 {{jsxref("Operators/Arithmetic_Operators", "multiplication operator", "#Multiplication", 1)}}。</p>
-
-<h4 id="语法_4">语法</h4>
-
-<pre class="syntaxbox"><strong>Operator:</strong> x *= y
-<strong>Meaning:</strong> x = x * y
-</pre>
-
-<h4 id="示例_4">示例</h4>
-
-<pre class="brush: js">// 假定已定义了下面的变量
-// bar = 5
-
-bar *= 2 // 10
-bar *= 'foo' // NaN
-</pre>
-
-<h3 id="除赋值(Division_assignment)"><a name="Division_assignment">除赋值(Division assignment)</a></h3>
-
-<p>除赋值运算符使一个变量除以右值,然后把结果赋给该变量。更多细节查看 {{jsxref("Operators/Arithmetic_Operators", "division operator", "#Division", 1)}}。</p>
-
-<h4 id="语法_5">语法</h4>
-
-<pre class="syntaxbox"><strong>Operator:</strong> x /= y
-<strong>Meaning:</strong> x = x / y
-</pre>
-
-<h4 id="示例_5">示例</h4>
-
-<pre class="brush: js">// 假定已定义了下面的变量
-// bar = 5
-
-bar /= 2 // 2.5
-bar /= "foo" // NaN
-bar /= 0 // Infinity
-</pre>
-
-<h3 id="模赋值(Remainder_assignment)"><a name="Remainder_assignment">模赋值(Remainder assignment)</a></h3>
-
-<p>模赋值运算符使一个变量除以右值,然后把余数赋给该变量。更多细节查看 {{jsxref("Operators/Arithmetic_Operators", "remainder operator", "#Remainder", 1)}}。</p>
-
-<h4 id="语法_6">语法</h4>
-
-<pre class="syntaxbox"><strong>Operator:</strong> x %= y
-<strong>Meaning:</strong> x = x % y
-</pre>
-
-<h4 id="示例_6">示例</h4>
-
-<pre class="brush: js">// Assuming the following variable
-// bar = 5
-
-bar %= 2 // 1
-bar %= 'foo' // NaN
-bar %= 0 // NaN
-</pre>
-
-<h3 id="指数赋值(Exponentiation_assignment)"><a id="Exponentiation_assignment" name="Exponentiation_assignment">指数赋值(Exponentiation assignment)</a></h3>
-
-<p>指数赋值运算符使一个变量为底数、以右值为指数的指数运算(乘方)结果赋给该变量。更多细节查看 {{jsxref("Operators/Arithmetic_Operators", "算术运算符", "#Exponentiation", 1)}}。</p>
-
-<h4 id="语法_7">语法</h4>
-
-<pre class="syntaxbox"><strong>语法:</strong> x **= y
-<strong>含义:</strong> x = x ** y
-</pre>
-
-<h4 id="示例_7">示例</h4>
-
-<pre class="brush: js">// Assuming the following variable
-// bar = 5
-
-bar **= 2 // 25
-bar **= 'foo' // NaN</pre>
-
-<h3 id="左移赋值(Left_shift_assignment)"><a name="Left_shift_assignment">左移赋值(Left shift assignment)</a></h3>
-
-<p>左移赋值运算符使变量向左移动指定位数的比特位,然后把结果赋给该变量。更多细节查看 {{jsxref("Operators/Bitwise_Operators", "left shift operator", "#Left_shift", 1)}}。</p>
-
-<h4 id="语法_8">语法</h4>
-
-<pre class="syntaxbox"><strong>Operator:</strong> x &lt;&lt;= y
-<strong>Meaning:</strong> x = x &lt;&lt; y
-</pre>
-
-<h4 id="示例_8">示例</h4>
-
-<pre class="brush: js">var bar = 5; // (00000000000000000000000000000101)
-bar &lt;&lt;= 2; // 20 (00000000000000000000000000010100)
-</pre>
-
-<h3 id="右移赋值(Right_shift_assignment)"><a name="Right_shift_assignment">右移赋值(Right shift assignment)</a></h3>
-
-<p>右移赋值运算符使变量向右移指定位数的比特位,然后把结果赋给该变量。更多细节查看 {{jsxref("Operators/Bitwise_Operators", "right shift operator", "#Right_shift", 1)}}。</p>
-
-<h4 id="语法_9">语法</h4>
-
-<pre class="syntaxbox"><strong>Operator:</strong> x &gt;&gt;= y
-<strong>Meaning:</strong> x = x &gt;&gt; y
-</pre>
-
-<h4 id="示例_9">示例</h4>
-
-<pre class="brush: js">var bar = 5; // (00000000000000000000000000000101)
-bar &gt;&gt;= 2; // 1 (00000000000000000000000000000001)
-
-var bar = -5; // (-00000000000000000000000000000101)
-bar &gt;&gt;= 2; // -2 (-00000000000000000000000000000010)
-</pre>
-
-<h3 id="无符号右移赋值(Unsigned_right_shift_assignment)"><a name="Unsigned_right_shift_assignment">无符号右移赋值(Unsigned right shift assignment)</a></h3>
-
-<p>无符号右移赋值运算符向右移动指定数量的比特位,然后把结果赋给变量。更多细节查看 {{jsxref("Operators/Bitwise_Operators", " unsigned right shift operator", "#Unsigned_right_shift", 1)}}。</p>
-
-<h4 id="语法_10">语法</h4>
-
-<pre class="syntaxbox"><strong>Operator:</strong> x &gt;&gt;&gt;= y
-<strong>Meaning:</strong> x = x &gt;&gt;&gt; y
-</pre>
-
-<h4 id="示例_10">示例</h4>
-
-<pre class="brush: js">var bar = 5; // (00000000000000000000000000000101)
-bar &gt;&gt;&gt;= 2; // 1 (00000000000000000000000000000001)
-
-var bar = -5; // (-00000000000000000000000000000101)
-bar &gt;&gt;&gt;= 2; // 1073741822 (00111111111111111111111111111110)</pre>
-
-<h3 id="按位与赋值(Bitwise_AND_assignment)"><a name="Bitwise_AND_assignment">按位与赋值(Bitwise AND assignment)</a></h3>
-
-<p>按位与赋值运算符使用两个操作值的二进制表示,执行按位与运算,并把结果赋给变量。更多细节查看 {{jsxref("Operators/Bitwise_Operators", "bitwise AND operator", "#Bitwise_AND", 1)}}。</p>
-
-<h4 id="语法_11">语法</h4>
-
-<pre class="syntaxbox"><strong>Operator:</strong> x &amp;= y
-<strong>Meaning:</strong> x = x &amp; y
-</pre>
-
-<h4 id="示例_11">示例</h4>
-
-<pre class="brush: js">var bar = 5;
-// 5: 00000000000000000000000000000101
-// 2: 00000000000000000000000000000010
-bar &amp;= 2; // 0
-</pre>
-
-<h3 id="按位异或赋值(Bitwise_XOR_assignment)"><a name="Bitwise_XOR_assignment">按位异或赋值(Bitwise XOR assignment)</a></h3>
-
-<p>按位异或赋值运算符使用两个操作值的二进制表示,执行二进制异或运算,并把结果赋给变量。更多细节查看 {{jsxref("Operators/Bitwise_Operators", "bitwise XOR operator", "#Bitwise_XOR", 1)}}。</p>
-
-<h4 id="语法_12">语法</h4>
-
-<pre class="syntaxbox"><strong>Operator:</strong> x ^= y
-<strong>Meaning:</strong> x = x ^ y
-</pre>
-
-<h4 id="示例_12">示例</h4>
-
-<pre class="brush: js">var bar = 5;
-bar ^= 2; // 7
-// 5: 00000000000000000000000000000101
-// 2: 00000000000000000000000000000010
-// -----------------------------------
-// 7: 00000000000000000000000000000111
-</pre>
-
-<h3 id="按位或赋值(Bitwise_OR_assignment)"><a name="Bitwise_OR_assignment">按位或赋值(Bitwise OR assignment)</a></h3>
-
-<p>按位或赋值运算符使用两个操作值的二进制表示,执行按位或运算,并把结果赋给变量。更多细节查看 {{jsxref("Operators/Bitwise_Operators", "bitwise OR operator", "#Bitwise_OR", 1)}}。</p>
-
-<h4 id="语法_13">语法</h4>
-
-<pre class="syntaxbox"><strong>Operator:</strong> x |= y
-<strong>Meaning:</strong> x = x | y
-</pre>
-
-<h4 id="示例_13">示例</h4>
-
-<pre class="brush: js">var bar = 5;
-bar |= 2; // 7
-// 5: 00000000000000000000000000000101
-// 2: 00000000000000000000000000000010
-// -----------------------------------
-// 7: 00000000000000000000000000000111
-</pre>
-
-<h2 id="示例_14">示例</h2>
-
-<h3 id="带有赋值运算符的左值(Left_operand)">带有赋值运算符的左值(Left operand)</h3>
-
-<p>在某些不常见的情况下,赋值运算符(如<code> x += y</code>)并不等同于表达式( <code>x = x + y</code>)。当一个赋值运算符的左值包含有一个赋值运算符时,左值只会被求值一次。例如:</p>
-
-<pre class="brush: js">a[i++] += 5 // i 执行一次求值
-a[i++] = a[i++] + 5 // i 执行两次求值
-</pre>
-
-<h2 id="规范">规范</h2>
-
-<table class="standard-table">
- <tbody>
- <tr>
- <th scope="col">Specification</th>
- <th scope="col">Status</th>
- <th scope="col">Comment</th>
- </tr>
- <tr>
- <td>{{SpecName('ESDraft', '#sec-assignment-operators', 'Assignment operators')}}</td>
- <td>{{Spec2('ESDraft')}}</td>
- <td></td>
- </tr>
- <tr>
- <td>{{SpecName('ES2015', '#sec-assignment-operators', 'Assignment operators')}}</td>
- <td>{{Spec2('ES2015')}}</td>
- <td></td>
- </tr>
- <tr>
- <td>{{SpecName('ES5.1', '#sec-11.13', 'Assignment operators')}}</td>
- <td>{{Spec2('ES5.1')}}</td>
- <td></td>
- </tr>
- <tr>
- <td>{{SpecName('ES1', '#sec-11.13', 'Assignment operators')}}</td>
- <td>{{Spec2('ES1')}}</td>
- <td>Initial definition.</td>
- </tr>
- </tbody>
-</table>
-
-<h2 id="浏览器兼容性">浏览器兼容性</h2>
-
-<div class="hidden">该兼容表是由结构化数据生成。如果你愿意贡献数据,请克隆仓库 <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> 并提交 pull request.</div>
-
-<p>{{Compat("javascript.operators.assignment")}}</p>
-
-<h2 id="相关链接">相关链接</h2>
-
-<ul>
- <li><a href="/zh-CN/docs/Web/JavaScript/Reference/Operators/Arithmetic_Operators">算术运算符</a></li>
-</ul>
diff --git a/files/zh-cn/web/javascript/reference/operators/async允许声明一个函数为一个包含异步操作的函数/index.html b/files/zh-cn/web/javascript/reference/operators/async_function/index.html
index eebfd13ca2..eebfd13ca2 100644
--- a/files/zh-cn/web/javascript/reference/operators/async允许声明一个函数为一个包含异步操作的函数/index.html
+++ b/files/zh-cn/web/javascript/reference/operators/async_function/index.html
diff --git a/files/zh-cn/web/javascript/reference/operators/按位与/index.html b/files/zh-cn/web/javascript/reference/operators/bitwise_and/index.html
index 20eece2691..20eece2691 100644
--- a/files/zh-cn/web/javascript/reference/operators/按位与/index.html
+++ b/files/zh-cn/web/javascript/reference/operators/bitwise_and/index.html
diff --git a/files/zh-cn/web/javascript/reference/operators/bitwise_operators/index.html b/files/zh-cn/web/javascript/reference/operators/bitwise_operators/index.html
deleted file mode 100644
index 4bdd7a1bc7..0000000000
--- a/files/zh-cn/web/javascript/reference/operators/bitwise_operators/index.html
+++ /dev/null
@@ -1,756 +0,0 @@
----
-title: 按位操作符
-slug: Web/JavaScript/Reference/Operators/Bitwise_Operators
-tags:
- - js ^ & Bitwise Operators
-translation_of: Web/JavaScript/Reference/Operators
-translation_of_original: Web/JavaScript/Reference/Operators/Bitwise_Operators
----
-<div>{{jsSidebar("Operators")}}</div>
-
-<h2 id="Summary" name="Summary">概述</h2>
-
-<p><strong>按位操作符(Bitwise operators)</strong> 将其操作数(operands)当作32位的比特序列(由0和1组成),而不是十进制、十六进制或八进制<a href="/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Number" title="/en-US/docs/JavaScript/Reference/Global_Objects/Number">数值</a>。例如,十进制数9,用二进制表示则为1001。按位操作符操作数字的二进制形式,但是返回值依然是标准的JavaScript数值。</p>
-
-<p>下面的表格总结了JavaScript中的按位操作符:</p>
-
-<table class="standard-table">
- <tbody>
- <tr>
- <th>运算符</th>
- <th>用法</th>
- <th>描述</th>
- </tr>
- <tr>
- <td><a href="#Bitwise_AND">按位与( AND)</a></td>
- <td style="white-space: nowrap;"><code>a &amp; b</code></td>
- <td>对于每一个比特位,只有两个操作数相应的比特位都是1时,结果才为1,否则为0。</td>
- </tr>
- <tr>
- <td><a href="#Bitwise_OR">按位或(OR)</a></td>
- <td style="white-space: nowrap;"><code>a | b</code></td>
- <td>对于每一个比特位,当两个操作数相应的比特位至少有一个1时,结果为1,否则为0。</td>
- </tr>
- <tr>
- <td><a href="#Bitwise_XOR">按位异或(XOR)</a></td>
- <td style="white-space: nowrap;"><code>a ^ b</code></td>
- <td>对于每一个比特位,当两个操作数相应的比特位有且只有一个1时,结果为1,否则为0。</td>
- </tr>
- <tr>
- <td><a href="#Bitwise_NOT">按位非(NOT)</a></td>
- <td style="white-space: nowrap;"><code>~ a</code></td>
- <td>反转操作数的比特位,即0变成1,1变成0。</td>
- </tr>
- <tr>
- <td><a href="#Left_shift">左移(L</a><a href="#Left_shift" style="line-height: 1.5;">eft shift)</a></td>
- <td style="white-space: nowrap;"><code>a &lt;&lt; b</code></td>
- <td>将 <code>a</code> 的二进制形式向左移 <code>b</code> (&lt; 32) 比特位,右边用0填充。</td>
- </tr>
- <tr>
- <td><a href="#Right_shift">有符号右移</a></td>
- <td style="white-space: nowrap;"><code>a &gt;&gt; b</code></td>
- <td>将 a 的二进制表示向右移<code> b </code>(&lt; 32) 位,丢弃被移出的位。</td>
- </tr>
- <tr>
- <td><a href="#Unsigned_right_shift">无符号右移</a></td>
- <td style="white-space: nowrap;"><code>a &gt;&gt;&gt; b</code></td>
- <td>将 a 的二进制表示向右移<code> b </code>(&lt; 32) 位,丢弃被移出的位,并使用 0 在左侧填充。</td>
- </tr>
- </tbody>
-</table>
-
-<h2 id="有符号32位整数">有符号32位整数</h2>
-
-<p>所有的按位操作符的操作数都会被转成补码(two's complement)形式的有符号32位整数。补码形式是指一个数的负对应值(negative counterpart)(如 5和-5)为数值的所有比特位反转后,再加1。反转比特位即该数值进行’非‘位运算,也即该数值的反码。例如下面为整数314的二进制编码:</p>
-
-<pre>00000000000000000000000100111010
-</pre>
-
-<p>下面编码 <code>~314</code>,即 <code>314</code> 的反码:</p>
-
-<pre>11111111111111111111111011000101
-</pre>
-
-<p>最后,下面编码 <code>-314</code>,即 <code>314</code> 的反码再加1:</p>
-
-<pre>11111111111111111111111011000110
-</pre>
-
-<p>补码保证了当一个数是正数时,其最左的比特位是0,当一个数是负数时,其最左的比特位是1。因此,最左边的比特位被称为符号位(<em>sign bit</em>)。</p>
-
-<p><code>0</code> 是所有比特数字0组成的整数。</p>
-
-<pre>0 (base 10) = 00000000000000000000000000000000 (base 2)
-</pre>
-
-<p><code>-1</code> 是所有比特数字1组成的整数。</p>
-
-<pre>-1 (base 10) = 11111111111111111111111111111111 (base 2)
-</pre>
-
-<p><code>-2147483648</code>(十六进制形式:<code>-0x80000000</code>)是除了最左边为1外,其他比特位都为0的整数。</p>
-
-<pre>-2147483648 (base 10) = 10000000000000000000000000000000 (base 2)
-</pre>
-
-<p><code>2147483647</code>(十六进制形式:<code>0x7fffffff</code>)是除了最左边为0外,其他比特位都为1的整数。</p>
-
-<pre>2147483647 (base 10) = 01111111111111111111111111111111 (base 2)
-</pre>
-
-<p>数字<code>-2147483648</code> 和 <code>2147483647</code> 是32位有符号数字所能表示的最小和最大整数。</p>
-
-<h2 id="按位逻辑操作符">按位逻辑操作符</h2>
-
-<p>从概念上讲,按位逻辑操作符按遵守下面规则:</p>
-
-<ul>
- <li>操作数被转换成32位整数,用比特序列(0和1组成)表示。超过32位的数字会被丢弃。<br>
- 例如, 以下具有32位以上的整数将转换为32位整数:</li>
- <li>
- <pre>转换前: 11100110111110100000000000000110000000000001
-转换后: 10100000000000000110000000000001</pre>
- </li>
- <li>第一个操作数的每个比特位与第二个操作数的相应比特位匹配:第一位对应第一位,第二位对应第二位,以此类推。</li>
- <li>位运算符应用到每对比特位,结果是新的比特值。</li>
-</ul>
-
-<h3 id="(按位与)"><a name="Bitwise_AND">&amp; (按位与)</a></h3>
-
-<p>对每对比特位执行<strong>与(AND)操作</strong>。只有 a 和 b 都是 1 时,a AND b 才是 1。<strong>与操作</strong>的真值表如下:</p>
-
-<table class="standard-table">
- <tbody>
- <tr>
- <td class="header">a</td>
- <td class="header">b</td>
- <td class="header">a AND b</td>
- </tr>
- <tr>
- <td>0</td>
- <td>0</td>
- <td>0</td>
- </tr>
- <tr>
- <td>0</td>
- <td>1</td>
- <td>0</td>
- </tr>
- <tr>
- <td>1</td>
- <td>0</td>
- <td>0</td>
- </tr>
- <tr>
- <td>1</td>
- <td>1</td>
- <td>1</td>
- </tr>
- </tbody>
-</table>
-
-<pre> 9 (base 10) = 00000000000000000000000000001001 (base 2)
- 14 (base 10) = 00000000000000000000000000001110 (base 2)
- --------------------------------
-14 &amp; 9 (base 10) = 00000000000000000000000000001000 (base 2) = 8 (base 10)
-</pre>
-
-<p>将任一数值 x 与 0 执行按位与操作,其结果都为 0。将任一数值 x 与 -1 执行按位与操作,其结果都为 x。</p>
-
-<h3 id="(按位或)"><a name="Bitwise_OR">| (按位或)</a></h3>
-
-<p>对每一对比特位执行<strong>或(OR)操作</strong>。如果 a 或 b 为 1,则 <code>a</code> OR <code>b</code> 结果为 1。<strong>或操作</strong>的真值表:</p>
-
-<table class="standard-table">
- <tbody>
- <tr>
- <td class="header">a</td>
- <td class="header">b</td>
- <td class="header">a OR b</td>
- </tr>
- <tr>
- <td>0</td>
- <td>0</td>
- <td>0</td>
- </tr>
- <tr>
- <td>0</td>
- <td>1</td>
- <td>1</td>
- </tr>
- <tr>
- <td>1</td>
- <td>0</td>
- <td>1</td>
- </tr>
- <tr>
- <td>1</td>
- <td>1</td>
- <td>1</td>
- </tr>
- </tbody>
-</table>
-
-<pre> 9 (base 10) = 00000000000000000000000000001001 (base 2)
- 14 (base 10) = 00000000000000000000000000001110 (base 2)
- --------------------------------
-14 | 9 (base 10) = 00000000000000000000000000001111 (base 2) = 15 (base 10)
-</pre>
-
-<p>将任一数值 x 与 0 进行按位或操作,其结果都是 x。将任一数值 x 与 -1 进行按位或操作,其结果都为 -1。</p>
-
-<p>补充一些例子:</p>
-
-<pre class="brush: js">1 | 0 ; // 1
-
-1.1 | 0 ; // 1
-
-'asfdasfda' | 0 ;       // 0
-
-0 | 0 ; // 0
-
-(-1) | 0 ; // -1
-
-(-1.5646) | 0 ;      // -1
-
-[] | 0 ; // 0
-
-({}) | 0 ; // 0
-
-"123456" | 0 ; // 123456
-
-1.23E2 | 0; // 123
-
-1.23E12 | 0; // 1639353344
-
--1.23E2 | 0; // -123
-
--1.23E12 | 0; // -1639353344</pre>
-
-<h3 id="(按位异或)"><a name="Bitwise_XOR">^ (按位异或)</a></h3>
-
-<p>对每一对比特位执行<strong>异或(XOR)操作</strong>。当 a 和 b 不相同时,<code>a</code> XOR <code>b</code> 的结果为 1。<strong>异或操作</strong>真值表:</p>
-
-<table class="standard-table">
- <tbody>
- <tr>
- <td class="header">a</td>
- <td class="header">b</td>
- <td class="header">a XOR b</td>
- </tr>
- <tr>
- <td>0</td>
- <td>0</td>
- <td>0</td>
- </tr>
- <tr>
- <td>0</td>
- <td>1</td>
- <td>1</td>
- </tr>
- <tr>
- <td>1</td>
- <td>0</td>
- <td>1</td>
- </tr>
- <tr>
- <td>1</td>
- <td>1</td>
- <td>0</td>
- </tr>
- </tbody>
-</table>
-
-<pre> 9 (base 10) = 00000000000000000000000000001001 (base 2)
- 14 (base 10) = 00000000000000000000000000001110 (base 2)
- --------------------------------
-14 ^ 9 (base 10) = 00000000000000000000000000000111 (base 2) = 7 (base 10)
-</pre>
-
-<p>将任一数值 x 与 0 进行异或操作,其结果为 x。将任一数值 x 与 -1 进行异或操作,其结果为 ~x。</p>
-
-<h3 id="(按位非)"><a name="Bitwise_NOT">~ (按位非)</a></h3>
-
-<p>对每一个比特位执行<strong>非(NOT)操作</strong>。NOT <code>a</code> 结果为 a 的反转(即反码)。<strong>非操作</strong>的真值表:</p>
-
-<table class="standard-table">
- <tbody>
- <tr>
- <td class="header">a</td>
- <td class="header">NOT a</td>
- </tr>
- <tr>
- <td>0</td>
- <td>1</td>
- </tr>
- <tr>
- <td>1</td>
- <td>0</td>
- </tr>
- </tbody>
-</table>
-
-<pre> 9 (base 10) = 00000000000000000000000000001001 (base 2)
- --------------------------------
-~9 (base 10) = 11111111111111111111111111110110 (base 2) = -10 (base 10)
-</pre>
-
-<p>对任一数值 x 进行按位非操作的结果为 -(x + 1)。例如,~5 结果为 -6。</p>
-
-<p>与 indexOf 一起使用示例:</p>
-
-<pre class="brush: js">var str = 'rawr';
-var searchFor = 'a';
-
-// 这是 if (-1*str.indexOf('a') &lt;= 0) 条件判断的另一种方法
-if (~str.indexOf(searchFor)) {
- // searchFor 包含在字符串中
-} else {
- // searchFor 不包含在字符串中
-}
-
-// (~str.indexOf(searchFor))的返回值
-// r == -1
-// a == -2
-// w == -3
-</pre>
-
-<h2 id="按位移动操作符">按位移动操作符</h2>
-
-<p>按位移动操作符有两个操作数:第一个是要被移动的数字,而第二个是要移动的长度。移动的方向根据操作符的不同而不同。</p>
-
-<p>按位移动会先将操作数转换为大端字节序顺序(big-endian order)的32位整数,并返回与左操作数相同类型的结果。右操作数应小于 32位,否则只有最低 5 个字节会被使用。</p>
-
-<pre>注:Big-Endian:高位字节排放在内存的低地址端,低位字节排放在内存的高地址端,
-又称为"高位编址"。
-Big-Endian是最直观的字节序:
-①把内存地址从左到右按照由低到高的顺序写出;
-②把值按照通常的高位到低位的顺序写出;
-③两者对照,一个字节一个字节的填充进去。</pre>
-
-<h3 id="&lt;&lt;_(左移)"><a name="Left_shift">&lt;&lt; (左移)</a></h3>
-
-<p>该操作符会将第一个操作数向左移动指定的位数。向左被移出的位被丢弃,右侧用 0 补充。</p>
-
-<p>For example, <code>9 &lt;&lt; 2</code> yields 36:</p>
-
-<pre> 9 (base 10): 00000000000000000000000000001001 (base 2)
- --------------------------------
-9 &lt;&lt; 2 (base 10): 00000000000000000000000000100100 (base 2) = 36 (base 10)
-</pre>
-
-<p>在数字 <strong>x</strong> 上左移 <strong>y</strong> 比特得到 <strong>x * 2<sup>y</sup></strong>.</p>
-
-<h3 id=">>_(有符号右移)"><a name="Right_shift">&gt;&gt; (有符号右移)</a></h3>
-
-<p>该操作符会将第一个操作数向右移动指定的位数。向右被移出的位被丢弃,拷贝最左侧的位以填充左侧。由于新的最左侧的位总是和以前相同,符号位没有被改变。所以被称作“符号传播”。</p>
-
-<p>例如, <code>9 &gt;&gt; 2</code> 得到 2:</p>
-
-<pre> 9 (base 10): 00000000000000000000000000001001 (base 2)
- --------------------------------
-9 &gt;&gt; 2 (base 10): 00000000000000000000000000000010 (base 2) = 2 (base 10)
-</pre>
-
-<p>相比之下, <code>-9 &gt;&gt; 2</code> 得到 -3,因为符号被保留了。</p>
-
-<pre> -9 (base 10): 11111111111111111111111111110111 (base 2)
- --------------------------------
--9 &gt;&gt; 2 (base 10): 11111111111111111111111111111101 (base 2) = -3 (base 10)
-</pre>
-
-<h3 id=">>>_(无符号右移)"><a name="Unsigned_right_shift">&gt;&gt;&gt; (无符号右移)</a></h3>
-
-<p>该操作符会将第一个操作数向右移动指定的位数。向右被移出的位被丢弃,左侧用0填充。因为符号位变成了 0,所以结果总是非负的。(译注:即便右移 0 个比特,结果也是非负的。)</p>
-
-<p>对于非负数,有符号右移和无符号右移总是返回相同的结果。例如 <code>9 &gt;&gt;&gt; 2</code> 和 <code>9 &gt;&gt; 2</code> 一样返回 2:</p>
-
-<pre> 9 (base 10): 00000000000000000000000000001001 (base 2)
- --------------------------------
-9 &gt;&gt;&gt; 2 (base 10): 00000000000000000000000000000010 (base 2) = 2 (base 10)
-</pre>
-
-<p>但是对于负数却不尽相同。 <code>-9 &gt;&gt;&gt; 2</code> 产生 1073741821 这和 <code>-9 &gt;&gt; 2</code> 不同:</p>
-
-<pre> -9 (base 10): 11111111111111111111111111110111 (base 2)
- --------------------------------
--9 &gt;&gt;&gt; 2 (base 10): 00111111111111111111111111111101 (base 2) = 1073741821 (base 10)
-</pre>
-
-<h2 id="示例">示例</h2>
-
-<h3 id="例子:标志位与掩码">例子:标志位与掩码</h3>
-
-<p>位运算经常被用来创建、处理以及读取标志位序列——一种类似二进制的变量。虽然可以使用变量代替标志位序列,但是这样可以节省内存(1/32)。</p>
-
-<p>例如,有 4 个标志位:</p>
-
-<ul>
- <li>标志位 A:我们有 ant</li>
- <li>标志位 B:我们有 bat</li>
- <li>标志位 C:我们有 cat</li>
- <li>标志位 D:我们有 duck</li>
-</ul>
-
-<p>标志位通过位序列 DCBA 来表示。当一个位被置位 (set) 时,它的值为 1 。当被清除 (clear) 时,它的值为 0 。例如一个变量 <code>flags</code> 的二进制值为 0101:</p>
-
-<pre class="brush: js">var flags = 5; // 二进制 0101
-</pre>
-
-<p>这个值表示:</p>
-
-<ul>
- <li>标志位 A 是 true (我们有 ant);</li>
- <li>标志位 B 是 false (我们没有 bat);</li>
- <li>标志位 C 是 true (我们有 cat);</li>
- <li>标志位 D 是 false (我们没有 duck);</li>
-</ul>
-
-<p>因为位运算是 32 位的, 0101 实际上是 00000000000000000000000000000101。因为前面多余的 0 没有任何意义,所以他们可以被忽略。</p>
-
-<p>掩码 (bitmask) 是一个通过与/或来读取标志位的位序列。典型的定义每个标志位的原语掩码如下:</p>
-
-<pre class="brush: js">var FLAG_A = 1; // 0001
-var FLAG_B = 2; // 0010
-var FLAG_C = 4; // 0100
-var FLAG_D = 8; // 1000
-</pre>
-
-<p>新的掩码可以在以上掩码上使用逻辑运算创建。例如,掩码 1011 可以通过 FLAG_A、FLAG_B 和 FLAG_D 逻辑或得到:</p>
-
-<pre class="brush: js">var mask = FLAG_A | FLAG_B | FLAG_D; // 0001 | 0010 | 1000 =&gt; 1011
-</pre>
-
-<p>某个特定的位可以通过与掩码做逻辑与运算得到,通过与掩码的与运算可以去掉无关的位,得到特定的位。例如,掩码 0100 可以用来检查标志位 C 是否被置位:</p>
-
-<pre class="brush: js">// 如果我们有 cat
-if (flags &amp; FLAG_C) { // 0101 &amp; 0100 =&gt; 0100 =&gt; true
- // do stuff
-}
-</pre>
-
-<p>一个有多个位被置位的掩码表达任一/或者的含义。例如,以下两个表达是等价的:</p>
-
-<pre class="brush: js">// 如果我们有 bat 或者 cat 至少一个
-// (0101 &amp; 0010) || (0101 &amp; 0100) =&gt; 0000 || 0100 =&gt; true
-if ((flags &amp; FLAG_B) || (flags &amp; FLAG_C)) {
- // do stuff
-}
-</pre>
-
-<pre class="brush: js">// 如果我们有 bat 或者 cat 至少一个
-var mask = FLAG_B | FLAG_C; // 0010 | 0100 =&gt; 0110
-if (flags &amp; mask) { // 0101 &amp; 0110 =&gt; 0100 =&gt; true
- // do stuff
-}
-</pre>
-
-<p>可以通过与掩码做或运算设置标志位,掩码中为 1 的位可以设置对应的位。例如掩码 1100 可用来设置位 C 和 D:</p>
-
-<pre class="brush: js">// 我们有 cat 和 duck
-var mask = FLAG_C | FLAG_D; // 0100 | 1000 =&gt; 1100
-flags |= mask; // 0101 | 1100 =&gt; 1101
-</pre>
-
-<p>可以通过与掩码做与运算清除标志位,掩码中为 0 的位可以设置对应的位。掩码可以通过对原语掩码做非运算得到。例如,掩码 1010 可以用来清除标志位 A 和 C :</p>
-
-<pre class="brush: js">// 我们没有 ant 也没有 cat
-var mask = ~(FLAG_A | FLAG_C); // ~0101 =&gt; 1010
-flags &amp;= mask; // 1101 &amp; 1010 =&gt; 1000
-</pre>
-
-<p>如上的掩码同样可以通过 <code>~FLAG_A &amp; ~FLAG_C</code> 得到(德摩根定律):</p>
-
-<pre class="brush: js">// 我们没有 ant 也没有 cat
-var mask = ~FLAG_A &amp; ~FLAG_C;
-flags &amp;= mask; // 1101 &amp; 1010 =&gt; 1000
-</pre>
-
-<p>标志位可以使用异或运算切换。所有值为 1 的位可以切换对应的位。例如,掩码 0110 可以用来切换标志位 B 和 C:</p>
-
-<pre class="brush: js">// 如果我们以前没有 bat ,那么我们现在有 bat
-// 但是如果我们已经有了一个,那么现在没有了
-// 对 cat 也是相同的情况
-var mask = FLAG_B | FLAG_C;
-flags = flags ^ mask; // 1100 ^ 0110 =&gt; 1010
-</pre>
-
-<p>最后,所有标志位可以通过非运算翻转:</p>
-
-<pre class="brush: js">// entering parallel universe...
-flags = ~flags; // ~1010 =&gt; 0101
-</pre>
-
-<h3 id="转换片段">转换片段</h3>
-
-<p>将一个二进制数的 <code><a href="/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/String" title="/en-US/docs/JavaScript/Reference/Global_Objects/String">String</a></code> 转换为十进制的 <code><a href="/zh-CN/docs/JavaScript/Reference/Global_Objects/Number" title="/en-US/docs/JavaScript/Reference/Global_Objects/Number">Number</a></code>:</p>
-
-<pre class="brush: js">var sBinString = "1011";
-var nMyNumber = parseInt(sBinString, 2);
-alert(nMyNumber); // 打印 11
-</pre>
-
-<p>将一个十进制的 <code><a href="/zh-CN/docs/JavaScript/Reference/Global_Objects/Number" title="/en-US/docs/JavaScript/Reference/Global_Objects/Number">Number</a></code> 转换为二进制数的 <code><a href="/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/String" title="/en-US/docs/JavaScript/Reference/Global_Objects/String">String</a></code>:</p>
-
-<pre class="brush: js">var nMyNumber = 11;
-var sBinString = nMyNumber.toString(2);
-alert(sBinString); // 打印 1011
-</pre>
-
-<h3 id="自动化掩码创建">自动化掩码创建</h3>
-
-<p>如果你需要从一系列的 <code><a href="/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Boolean" title="/en-US/docs/JavaScript/Reference/Global_Objects/Boolean">Boolean</a></code> 值创建一个掩码,你可以:</p>
-
-<pre class="brush: js">function createMask () {
- var nMask = 0, nFlag = 0, nLen = arguments.length &gt; 32 ? 32 : arguments.length;
- for (nFlag; nFlag &lt; nLen; nMask |= arguments[nFlag] &lt;&lt; nFlag++);
- return nMask;
-}
-var mask1 = createMask(true, true, false, true); // 11, i.e.: 1011
-var mask2 = createMask(false, false, true); // 4, i.e.: 0100
-var mask3 = createMask(true); // 1, i.e.: 0001
-// etc.
-
-alert(mask1); // 打印 11
-</pre>
-
-<h3 id="逆算法:从掩码得到布尔数组">逆算法:从掩码得到布尔数组</h3>
-
-<p>如果你希望从掩码得到得到 <code><a href="/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Boolean" title="/en-US/docs/JavaScript/Reference/Global_Objects/Boolean">Boolean</a></code> <code><a href="/zh-CN/docs/Mozilla/Tech/XPCOM/Array" title="/en-US/docs/JavaScript/Reference/Global_Objects/Array">Array</a></code> :</p>
-
-<pre class="brush: js">function arrayFromMask (nMask) {
- // nMask 必须介于 -2147483648 和 2147483647 之间
- if (nMask &gt; 0x7fffffff || nMask &lt; -0x80000000) {
- throw new TypeError("arrayFromMask - out of range");
- }
- for (var nShifted = nMask, aFromMask = []; nShifted;
- aFromMask.push(Boolean(nShifted &amp; 1)), nShifted &gt;&gt;&gt;= 1);
- return aFromMask;
-}
-
-var array1 = arrayFromMask(11);
-var array2 = arrayFromMask(4);
-var array3 = arrayFromMask(1);
-
-alert("[" + array1.join(", ") + "]");
-// 打印 "[true, true, false, true]", i.e.: 11, i.e.: 1011
-</pre>
-
-<p>你可以同时测试以上两个算法……</p>
-
-<pre class="brush: js">var nTest = 19; // our custom mask
-var nResult = createMask.apply(this, arrayFromMask(nTest));
-
-alert(nResult); // 19
-</pre>
-
-<p>仅仅由于教学目的 (因为有 <code><a href="/zh-CN/docs/JavaScript/Reference/Global_Objects/Number" title="/en-US/docs/JavaScript/Reference/Global_Objects/Number/toString">Number.toString(2)</a></code> 方法),我们展示如何修改 arrayFromMask 算法通过 Number 返回二进制的 String,而非 Boolean Array:</p>
-
-<pre class="brush: js">function createBinaryString (nMask) {
- // nMask must be between -2147483648 and 2147483647
- for (var nFlag = 0, nShifted = nMask, sMask = ""; nFlag &lt; 32;
- nFlag++, sMask += String(nShifted &gt;&gt;&gt; 31), nShifted &lt;&lt;= 1);
- return sMask;
-}
-
-var string1 = createBinaryString(11);
-var string2 = createBinaryString(4);
-var string3 = createBinaryString(1);
-
-alert(string1);
-// 打印 00000000000000000000000000001011, i.e. 11
-</pre>
-
-<h2 id="规范">规范</h2>
-
-<table class="standard-table">
- <tbody>
- <tr>
- <th scope="col">Specification</th>
- <th scope="col">Status</th>
- <th scope="col">Comment</th>
- </tr>
- <tr>
- <td>ECMAScript 1st Edition.</td>
- <td>Standard</td>
- <td>Initial definition.</td>
- </tr>
- <tr>
- <td>{{SpecName('ES5.1', '#sec-11.4.8', 'Bitwise NOT operator')}}<br>
- {{SpecName('ES5.1', '#sec-11.7', 'Bitwise shift operators')}}<br>
- {{SpecName('ES5.1', '#sec-11.10', 'Binary bitwise operators')}}</td>
- <td>{{Spec2('ES5.1')}}</td>
- <td></td>
- </tr>
- <tr>
- <td>{{SpecName('ES6', '#sec-bitwise-not-operator', 'Bitwise NOT operator')}}<br>
- {{SpecName('ES6', '#sec-bitwise-shift-operators', 'Bitwise shift operators')}}<br>
- {{SpecName('ES6', '#sec-binary-bitwise-operators', 'Binary bitwise operators')}}</td>
- <td>{{Spec2('ES6')}}</td>
- <td></td>
- </tr>
- </tbody>
-</table>
-
-<h2 id="浏览器兼容性">浏览器兼容性</h2>
-
-<p>{{ CompatibilityTable() }}</p>
-
-<div id="compat-desktop">
-<table class="compat-table">
- <tbody>
- <tr>
- <th>Feature</th>
- <th>Chrome</th>
- <th>Firefox (Gecko)</th>
- <th>Internet Explorer</th>
- <th>Opera</th>
- <th>Safari</th>
- </tr>
- <tr>
- <td><a href="#Bitwise_NOT">Bitwise NOT (<code>~</code>)</a></td>
- <td>{{ CompatVersionUnknown() }}</td>
- <td>{{ CompatVersionUnknown() }}</td>
- <td>{{ CompatVersionUnknown() }}</td>
- <td>{{ CompatVersionUnknown() }}</td>
- <td>{{ CompatVersionUnknown() }}</td>
- </tr>
- <tr>
- <td><a href="#Bitwise_AND">Bitwise AND (<code>&amp;</code>)</a></td>
- <td>{{ CompatVersionUnknown() }}</td>
- <td>{{ CompatVersionUnknown() }}</td>
- <td>{{ CompatVersionUnknown() }}</td>
- <td>{{ CompatVersionUnknown() }}</td>
- <td>{{ CompatVersionUnknown() }}</td>
- </tr>
- <tr>
- <td><a href="#Bitwise_OR">Bitwise OR (<code>|</code>)</a></td>
- <td>{{ CompatVersionUnknown() }}</td>
- <td>{{ CompatVersionUnknown() }}</td>
- <td>{{ CompatVersionUnknown() }}</td>
- <td>{{ CompatVersionUnknown() }}</td>
- <td>{{ CompatVersionUnknown() }}</td>
- </tr>
- <tr>
- <td><a href="#Bitwise_XOR">Bitwise XOR (<code>^</code>)</a></td>
- <td>{{ CompatVersionUnknown() }}</td>
- <td>{{ CompatVersionUnknown() }}</td>
- <td>{{ CompatVersionUnknown() }}</td>
- <td>{{ CompatVersionUnknown() }}</td>
- <td>{{ CompatVersionUnknown() }}</td>
- </tr>
- <tr>
- <td><a href="#Left_shift">Left shift (<code>&lt;&lt;</code>)</a></td>
- <td>{{ CompatVersionUnknown() }}</td>
- <td>{{ CompatVersionUnknown() }}</td>
- <td>{{ CompatVersionUnknown() }}</td>
- <td>{{ CompatVersionUnknown() }}</td>
- <td>{{ CompatVersionUnknown() }}</td>
- </tr>
- <tr>
- <td><a href="#Right_shift">Right shift (<code>&gt;&gt;</code>)</a></td>
- <td>{{ CompatVersionUnknown() }}</td>
- <td>{{ CompatVersionUnknown() }}</td>
- <td>{{ CompatVersionUnknown() }}</td>
- <td>{{ CompatVersionUnknown() }}</td>
- <td>{{ CompatVersionUnknown() }}</td>
- </tr>
- <tr>
- <td><a href="#Unsigned_right_shift">Unsigned right shift (<code>&gt;&gt;&gt;</code>)</a></td>
- <td>{{ CompatVersionUnknown() }}</td>
- <td>{{ CompatVersionUnknown() }}</td>
- <td>{{ CompatVersionUnknown() }}</td>
- <td>{{ CompatVersionUnknown() }}</td>
- <td>{{ CompatVersionUnknown() }}</td>
- </tr>
- </tbody>
-</table>
-</div>
-
-<div id="compat-mobile">
-<table class="compat-table">
- <tbody>
- <tr>
- <th>Feature</th>
- <th>Android</th>
- <th>Chrome for Android</th>
- <th>Firefox Mobile (Gecko)</th>
- <th>IE Mobile</th>
- <th>Opera Mobile</th>
- <th>Safari Mobile</th>
- </tr>
- <tr>
- <td><a href="#Bitwise_NOT">Bitwise NOT (<code>~</code>)</a></td>
- <td>{{ CompatVersionUnknown() }}</td>
- <td>{{ CompatVersionUnknown() }}</td>
- <td>{{ CompatVersionUnknown() }}</td>
- <td>{{ CompatVersionUnknown() }}</td>
- <td>{{ CompatVersionUnknown() }}</td>
- <td>{{ CompatVersionUnknown() }}</td>
- </tr>
- <tr>
- <td><a href="#Bitwise_AND">Bitwise AND (<code>&amp;</code>)</a></td>
- <td>{{ CompatVersionUnknown() }}</td>
- <td>{{ CompatVersionUnknown() }}</td>
- <td>{{ CompatVersionUnknown() }}</td>
- <td>{{ CompatVersionUnknown() }}</td>
- <td>{{ CompatVersionUnknown() }}</td>
- <td>{{ CompatVersionUnknown() }}</td>
- </tr>
- <tr>
- <td><a href="#Bitwise_OR">Bitwise OR (<code>|</code>)</a></td>
- <td>{{ CompatVersionUnknown() }}</td>
- <td>{{ CompatVersionUnknown() }}</td>
- <td>{{ CompatVersionUnknown() }}</td>
- <td>{{ CompatVersionUnknown() }}</td>
- <td>{{ CompatVersionUnknown() }}</td>
- <td>{{ CompatVersionUnknown() }}</td>
- </tr>
- <tr>
- <td><a href="#Bitwise_XOR">Bitwise XOR (<code>^</code>)</a></td>
- <td>{{ CompatVersionUnknown() }}</td>
- <td>{{ CompatVersionUnknown() }}</td>
- <td>{{ CompatVersionUnknown() }}</td>
- <td>{{ CompatVersionUnknown() }}</td>
- <td>{{ CompatVersionUnknown() }}</td>
- <td>{{ CompatVersionUnknown() }}</td>
- </tr>
- <tr>
- <td><a href="#Left_shift">Left shift (<code>&lt;&lt;</code>)</a></td>
- <td>{{ CompatVersionUnknown() }}</td>
- <td>{{ CompatVersionUnknown() }}</td>
- <td>{{ CompatVersionUnknown() }}</td>
- <td>{{ CompatVersionUnknown() }}</td>
- <td>{{ CompatVersionUnknown() }}</td>
- <td>{{ CompatVersionUnknown() }}</td>
- </tr>
- <tr>
- <td><a href="#Right_shift">Right shift (<code>&gt;&gt;</code>)</a></td>
- <td>{{ CompatVersionUnknown() }}</td>
- <td>{{ CompatVersionUnknown() }}</td>
- <td>{{ CompatVersionUnknown() }}</td>
- <td>{{ CompatVersionUnknown() }}</td>
- <td>{{ CompatVersionUnknown() }}</td>
- <td>{{ CompatVersionUnknown() }}</td>
- </tr>
- <tr>
- <td><a href="#Unsigned_right_shift">Unsigned right shift (<code>&gt;&gt;&gt;</code>)</a></td>
- <td>{{ CompatVersionUnknown() }}</td>
- <td>{{ CompatVersionUnknown() }}</td>
- <td>{{ CompatVersionUnknown() }}</td>
- <td>{{ CompatVersionUnknown() }}</td>
- <td>{{ CompatVersionUnknown() }}</td>
- <td>{{ CompatVersionUnknown() }}</td>
- </tr>
- </tbody>
-</table>
-</div>
-
-<h2 id="See_also" name="See_also">相关链接</h2>
-
-<ul>
- <li><a href="/en-US/docs/Web/JavaScript/Reference/Operators/Logical_Operators">Logical operators</a></li>
- <li>
- <p><strong>js ^</strong> &amp; <strong>Bitwise Operators</strong></p>
- </li>
-</ul>
diff --git a/files/zh-cn/web/javascript/reference/operators/comparison_operators/index.html b/files/zh-cn/web/javascript/reference/operators/comparison_operators/index.html
deleted file mode 100644
index 5ddf85f426..0000000000
--- a/files/zh-cn/web/javascript/reference/operators/comparison_operators/index.html
+++ /dev/null
@@ -1,278 +0,0 @@
----
-title: 比较操作符
-slug: Web/JavaScript/Reference/Operators/Comparison_Operators
-tags:
- - 严格比较操作符
- - 比较操作符
-translation_of: Web/JavaScript/Reference/Operators
-translation_of_original: Web/JavaScript/Reference/Operators/Comparison_Operators
----
-<div>{{jsSidebar("Operators")}}</div>
-
-<p>JavaScript 有两种比较方式:严格比较运算符和转换类型比较运算符。对于严格比较运算符(===)来说,仅当两个操作数的类型相同且值相等为 true,而对于被广泛使用的比较运算符(==)来说,会在进行比较之前,将两个操作数转换成相同的类型。对于关系运算符(比如 &lt;=)来说,会先将操作数转为原始值,使它们类型相同,再进行比较运算。</p>
-
-<p>字符串比较则是使用基于标准字典的 Unicode 值来进行比较的。</p>
-
-<p>比较的特点:</p>
-
-<ul>
- <li>对于两个拥有相同字符顺序,相同长度,并且每个字符的位置都匹配的字符串,应该使用严格比较运算符。</li>
- <li><span style="line-height: 1.5;"> 对于两个数值相同的数字应该使用严格比较运算符,NaN和任何值不相等,包括其自身,正数零等于负数零。</span></li>
- <li>对于两个同为true或同为false的布尔操作数,应使用严格比较运算符。</li>
- <li>不要使用严格比较运算符或比较运算符来比较两个不相等的对象。</li>
- <li>当比较一个表达式和一个对象时,仅当两个操作数引用相同的对象(指针指向相同对象)。</li>
- <li>对于Null 和 Undefined 类型而言,应使用严格比较运算符比较其自身,使用比较运算符进行互相比较。</li>
-</ul>
-
-<h2 id="相等运算符">相等运算符</h2>
-
-<h3 id="相等()">相等(==)</h3>
-
-<p>比较操作符会为两个不同类型的操作数转换类型,然后进行严格比较。当两个操作数都是对象时,JavaScript会比较其内部引用,当且仅当他们的引用指向内存中的相同对象(区域)时才相等,即他们在栈内存中的引用地址相同。</p>
-
-<h4 id="语法">语法</h4>
-
-<pre class="syntaxbox">x == y
-</pre>
-
-<h4 id="例子">例子</h4>
-
-<pre class="brush: js"> 1 == 1 // true
-"1" == 1 // true
- 1 == '1' // true
- 0 == false // true
-</pre>
-
-<h3 id="不相等_(!)"><a name="Inequality">不相等 (!=)</a></h3>
-
-<p>不等操作符仅当操作数不相等时返回true,如果两操作数不是同一类型,JavaScript会尝试将其转为一个合适的类型,然后进行比较。如果两操作数为对象类型,JavaScript会比较其内部引用地址,仅当他们在内存中引用不同对象时不相等。</p>
-
-<h4 id="语法_2">语法</h4>
-
-<pre class="syntaxbox">x != y</pre>
-
-<h4 id="例子_2">例子</h4>
-
-<pre class="brush: js">1 != 2 // true
-1 != "1" // false
-1 != '1' // false
-1 != true // false
-0 != false // false
-</pre>
-
-<h3 id="一致严格相等_()"><a name="Identity">一致/严格相等 (===)</a></h3>
-
-<p>一致运算符不会进行类型转换,仅当操作数严格相等时返回true</p>
-
-<h4 id="语法_3">语法</h4>
-
-<pre class="syntaxbox">x === y</pre>
-
-<h4 id="例子_3">例子</h4>
-
-<pre class="brush: js ">3 === 3 // true
-3 === '3' // false
-var object1 = {"value":"key"}, object2={"value":"key"};
-object1 === object2 //false</pre>
-
-<h3 id="不一致严格不相等_(!)"><a name="Nonidentity">不一致/严格不相等 (!==)</a></h3>
-
-<p>不一致运算符当操作数不相等或不同类型时返回true</p>
-
-<h4 id="语法_4">语法</h4>
-
-<pre class="syntaxbox">x !== y</pre>
-
-<h4 id="例子_4">例子</h4>
-
-<pre class="brush: js">3 !== '3' // true
-4 !== 3 // true
-</pre>
-
-<h2 id="关系运算符">关系运算符</h2>
-
-<h3 id="大于运算符_(>)"><a name="Greater_than_operator">大于运算符 (&gt;)</a></h3>
-
-<p>大于运算符仅当左操作数大于右操作数时返回true</p>
-
-<h4 id="语法_5">语法</h4>
-
-<pre class="syntaxbox">x &gt; y</pre>
-
-<h4 id="例子_5">例子</h4>
-
-<pre class="brush: js">4 &gt; 3 // true
-</pre>
-
-<h3 id="大于等于运算符_(>)"><a name="Greater_than_or_equal_operator">大于等于运算符 (&gt;=)</a></h3>
-
-<p>大于等于运算符当左操作数大于或等于右操作数时返回true</p>
-
-<h4 id="语法_6">语法</h4>
-
-<pre class="syntaxbox"> x &gt;= y</pre>
-
-<h4 id="例子_6">例子</h4>
-
-<pre class="brush: js">4 &gt;= 3 // true
-3 &gt;= 3 // true
-</pre>
-
-<h3 id="小于运算符_(&lt;)"><a name="Less_than_operator">小于运算符 (&lt;)</a></h3>
-
-<p>小于运算符仅当左操作数小于右操作数时返回true</p>
-
-<h4 id="语法_7">语法</h4>
-
-<pre class="syntaxbox"> x &lt; y</pre>
-
-<h4 id="例子_7">例子</h4>
-
-<pre class="brush: js">3 &lt; 4 // true
-</pre>
-
-<h3 id="小于等于运算符_(&lt;)"><a id="Less_than_or_equal_operator" name="Less_than_or_equal_operator">小于等于运算符 (&lt;=)</a></h3>
-
-<p>小于等于运算符当左操作数小于或等于右操作数时返回true</p>
-
-<h4 id="语法_8">语法</h4>
-
-<pre class="syntaxbox"> x &lt;= y</pre>
-
-<h4 id="例子_8">例子</h4>
-
-<pre class="brush: js">3 &lt;= 4 // true
-</pre>
-
-<h2 id="使用比较操作符">使用比较操作符</h2>
-
-<p>标准相等操作符(<code>==</code> and <code>!=</code>) 使用 <a href="http://www.ecma-international.org/ecma-262/5.1/#sec-11.9.3">Abstract Equality Comparison Algorithm</a> 去比较两个操作数。当两个操作数类型不相等时,会在比较前尝试将其转换为相同类型。 e.g., 对于表达式 <code>5 == '5'</code>, 在比较前会先将右边字符串类型的操作数 5 转换为数字。</p>
-
-<p>严格相等操作符 (<code>===</code> and <code>!==</code>) 使用 Strict Equality Comparison Algorithm 并尝试对两个相同操作数进行相等比较,如果它们的类型不相等,那么永远会返回false 所以 <code>5 !== '5'。</code></p>
-
-<p>当需要明确操作数的类型和值的时候,或者操作数的确切类型非常重要时,应使用严格相等操作符。否则,当你允许操作数在比较前进行类型转换时,可以使用标准相等操作符来比较。</p>
-
-<p>当比较运算涉及类型转换时 (i.e., non–strict comparison), JavaScript 会按以下规则对字符串,数字,布尔或对象类型的操作数进行操作:</p>
-
-<ul>
- <li>当比较数字和字符串时,字符串会转换成数字值。 JavaScript 尝试将数字字面量转换为数字类型的值。 首先, 一个数学上的值会从数字字面量中衍生出来,然后这个值将被转为一个最接近的<code>Number</code>类型的值。</li>
- <li>如果其中一个操作数为布尔类型,那么布尔操作数如果为true,那么会转换为1,如果为false,会转换为整数0,即0。</li>
- <li>如果一个对象与数字或字符串相比较,JavaScript会尝试返回对象的默认值。操作符会尝试通过方法valueOf和toString将对象转换为其原始值(一个字符串或数字类型的值)。如果尝试转换失败,会产生一个运行时错误。</li>
- <li>注意:当且仅当与原始值比较时,对象会被转换为原始值。当两个操作数均为对象时,它们作为对象进行比较,仅当它们引用相同对象时返回true。</li>
-</ul>
-
-<div class="note"><strong>注意:</strong> 字符串对象的类型是对象,不是字符串!字符串对象很少被使用,所以下面的结果也许会让你惊讶:</div>
-
-<pre class="brush:js">// true as both operands are Type String (i.e. string primitives):
-'foo' === 'foo'
-
-var a = new String('foo');
-var b = new String('foo');
-
-// false as a and b are Type Object and reference different objects
-a == b
-
-// false as a and b are Type Object and reference different objects
-a === b
-
-// true as a and 'foo' are of different type and, the Object (a)
-// is converted to String 'foo' before comparison
-a == 'foo' </pre>
-
-<h2 id="Specifications">Specifications</h2>
-
-<table class="standard-table">
- <tbody>
- <tr>
- <th scope="col">Specification</th>
- <th scope="col">Status</th>
- <th scope="col">Comment</th>
- </tr>
- <tr>
- <td>ECMAScript 1st Edition.</td>
- <td>Standard</td>
- <td>Initial definition. Implemented in JavaScript 1.0</td>
- </tr>
- <tr>
- <td>ECMAScript 3rd Edition.</td>
- <td>Standard</td>
- <td>Adds <code>===</code> and <code>!==</code> operators. Implemented in JavaScript 1.3</td>
- </tr>
- <tr>
- <td>{{SpecName('ES5.1', '#sec-11.8', 'Relational Operators')}}<br>
- {{SpecName('ES5.1', '#sec-11.9', 'Equality Operators')}}</td>
- <td>{{Spec2('ES5.1')}}</td>
- <td>Defined in several sections of the specification: <a href="http://www.ecma-international.org/ecma-262/5.1/#sec-11.8">Relational Operators</a>, <a href="http://www.ecma-international.org/ecma-262/5.1/#sec-11.9">Equality Operators</a></td>
- </tr>
- <tr>
- <td>{{SpecName('ES6', '#sec-relational-operators', 'Relational Operators')}}<br>
- {{SpecName('ES6', '#sec-equality-operators', 'Equality Operators')}}</td>
- <td>{{Spec2('ES6')}}</td>
- <td>Defined in several sections of the specification: <a href="http://www.ecma-international.org/ecma-262/6.0/#sec-relational-operators">Relational Operators</a>, <a href="http://www.ecma-international.org/ecma-262/6.0/#sec-equality-operators">Equality Operators</a></td>
- </tr>
- <tr>
- <td>{{SpecName('ESDraft', '#sec-relational-operators')}}</td>
- <td>{{Spec2('ESDraft')}}</td>
- <td>Defined in several sections of the specification: <a href="http://tc39.github.io/ecma262/#sec-relational-operators">Relational Operators</a>, <a href="http://tc39.github.io/ecma262/#sec-equality-operators">Equality Operators</a></td>
- </tr>
- </tbody>
-</table>
-
-<h2 id="Browser_compatibility">Browser compatibility</h2>
-
-<p>{{CompatibilityTable}}</p>
-
-<div id="compat-desktop">
-<table class="compat-table">
- <tbody>
- <tr>
- <th>Feature</th>
- <th>Chrome</th>
- <th>Firefox (Gecko)</th>
- <th>Internet Explorer</th>
- <th>Opera</th>
- <th>Safari</th>
- </tr>
- <tr>
- <td>Basic support</td>
- <td>{{CompatVersionUnknown}}</td>
- <td>{{CompatVersionUnknown}}</td>
- <td>{{CompatVersionUnknown}}</td>
- <td>{{CompatVersionUnknown}}</td>
- <td>{{CompatVersionUnknown}}</td>
- </tr>
- </tbody>
-</table>
-</div>
-
-<div id="compat-mobile">
-<table class="compat-table">
- <tbody>
- <tr>
- <th>Feature</th>
- <th>Android</th>
- <th>Chrome for Android</th>
- <th>Firefox Mobile (Gecko)</th>
- <th>IE Mobile</th>
- <th>Opera Mobile</th>
- <th>Safari Mobile</th>
- </tr>
- <tr>
- <td>Basic support</td>
- <td>{{CompatVersionUnknown}}</td>
- <td>{{CompatVersionUnknown}}</td>
- <td>{{CompatVersionUnknown}}</td>
- <td>{{CompatVersionUnknown}}</td>
- <td>{{CompatVersionUnknown}}</td>
- <td>{{CompatVersionUnknown}}</td>
- </tr>
- </tbody>
-</table>
-</div>
-
-<h2 id="See_also">See also</h2>
-
-<ul>
- <li>{{jsxref("Object.is()")}}</li>
- <li><a href="/en-US/docs/Web/JavaScript/Equality_comparisons_and_sameness">Equality comparisons and sameness</a></li>
-</ul>
diff --git a/files/zh-cn/web/javascript/reference/operators/自减/index.html b/files/zh-cn/web/javascript/reference/operators/decrement/index.html
index f405740df3..f405740df3 100644
--- a/files/zh-cn/web/javascript/reference/operators/自减/index.html
+++ b/files/zh-cn/web/javascript/reference/operators/decrement/index.html
diff --git a/files/zh-cn/web/javascript/reference/operators/相等/index.html b/files/zh-cn/web/javascript/reference/operators/equality/index.html
index e100ec1d2d..e100ec1d2d 100644
--- a/files/zh-cn/web/javascript/reference/operators/相等/index.html
+++ b/files/zh-cn/web/javascript/reference/operators/equality/index.html
diff --git a/files/zh-cn/web/javascript/reference/operators/逻辑和/index.html b/files/zh-cn/web/javascript/reference/operators/logical_and/index.html
index de38317f42..de38317f42 100644
--- a/files/zh-cn/web/javascript/reference/operators/逻辑和/index.html
+++ b/files/zh-cn/web/javascript/reference/operators/logical_and/index.html
diff --git a/files/zh-cn/web/javascript/reference/operators/logical_operators/index.html b/files/zh-cn/web/javascript/reference/operators/logical_operators/index.html
deleted file mode 100644
index 5615e17d45..0000000000
--- a/files/zh-cn/web/javascript/reference/operators/logical_operators/index.html
+++ /dev/null
@@ -1,238 +0,0 @@
----
-title: 逻辑运算符
-slug: Web/JavaScript/Reference/Operators/Logical_Operators
-tags:
- - JavaScript
- - 操作符
- - 逻辑
-translation_of: Web/JavaScript/Reference/Operators
-translation_of_original: Web/JavaScript/Reference/Operators/Logical_Operators
----
-<div>{{jsSidebar("Operators")}}</div>
-
-<p>逻辑运算符通常用于{{jsxref("Boolean","布尔")}}型(逻辑)值。这种情况下,它们返回一个布尔值。然而,<code>&amp;&amp;</code> 和 <code>||</code> 运算符会返回一个指定操作数的值,因此,这些运算符也用于非布尔值。这时,它们也就会返回一个非布尔型值。</p>
-
-<div>{{EmbedInteractiveExample("pages/js/expressions-logicaloperator.html")}}</div>
-
-
-
-<h2 id="描述">描述</h2>
-
-<p>逻辑运算符如下表所示 (其中<code><em>expr</em></code>可能是任何一种<a href="https://developer.mozilla.org/zh-CN/docs/Glossary/Data_structure">类型</a>, 不一定是布尔值):</p>
-
-<table class="fullwidth-table syntaxbox">
- <tbody>
- <tr>
- <th>运算符</th>
- <th>语法</th>
- <th>说明</th>
- </tr>
- <tr>
- <td>逻辑与,AND(<code>&amp;&amp;</code>)</td>
- <td><code><em>expr1</em> &amp;&amp; <em>expr2</em></code></td>
- <td>若 <code>expr<strong>1</strong></code> 可转换为 <code>true</code>,则返回 <code>expr<strong>2</strong></code>;否则,返回 <code>expr<strong>1</strong></code>。</td>
- </tr>
- <tr>
- <td>逻辑或,OR(<code>||</code>)</td>
- <td><code><em>expr1</em> || <em>expr2</em></code></td>
- <td>若 <code>expr<strong>1</strong></code> 可转换为 <code>true</code>,则返回 <code>expr<strong>1</strong></code>;否则,返回 <code>expr<strong>2</strong></code>。</td>
- </tr>
- <tr>
- <td>逻辑非,NOT(<code>!</code>)</td>
- <td><code>!<em>expr</em></code></td>
- <td>若 <code>expr</code> 可转换为 <code>true</code>,则返回 <code>false</code>;否则,返回 <code>true</code>。</td>
- </tr>
- </tbody>
-</table>
-
-<p>如果一个值可以被转换为 <code>true</code>,那么这个值就是所谓的 {{Glossary("truthy")}},如果可以被转换为 <code>false</code>,那么这个值就是所谓的 {{Glossary("falsy")}}。</p>
-
-<p>会被转换为 <code>false</code> 的表达式有:</p>
-
-<ul>
- <li><code>null</code>;</li>
- <li><code>NaN</code>;</li>
- <li><code>0</code>;</li>
- <li>空字符串(<code>""</code> or <code>''</code> or <code>``</code>);</li>
- <li><code>undefined</code>。</li>
-</ul>
-
-<p>尽管 <code>&amp;&amp;</code> 和 <code>||</code> 运算符能够使用非布尔值的操作数, 但它们依然可以被看作是布尔操作符,因为它们的返回值总是能够被转换为布尔值。如果要显式地将它们的返回值(或者表达式)转换为布尔值,请使用<a href="https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Operators/Logical_Operators#%E9%80%BB%E8%BE%91%E9%9D%9E%EF%BC%88!%EF%BC%89">双重非运算符</a>(即<code>!!</code>)或者<a href="https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Boolean">Boolean</a>构造函数。</p>
-
-<h3 id="短路计算">短路计算</h3>
-
-<p>由于逻辑表达式的运算顺序是从左到右,也可以用以下规则进行"短路"计算:</p>
-
-<ul>
- <li><code>(some falsy expression) &amp;&amp; (<em>expr)</em></code> 短路计算的结果为假。</li>
- <li><code>(some truthy expression) || <em>(expr)</em></code> 短路计算的结果为真。</li>
-</ul>
-
-<p>短路意味着上述表达式中的expr部分<strong>不会被执行</strong>,因此expr的任何副作用都不会生效(举个例子,如果expr是一次函数调用,这次调用就不会发生)。造成这种现象的原因是,整个表达式的值在第一个操作数被计算后已经确定了。看一个例子:</p>
-
-<pre class="brush: js">function A(){ console.log('called A'); return false; }
-function B(){ console.log('called B'); return true; }
-
-console.log( A() &amp;&amp; B() );
-// logs "called A" due to the function call,
-// then logs false (which is the resulting value of the operator)
-
-console.log( B() || A() );
-// logs "called B" due to the function call,
-// then logs true (which is the resulting value of the operator)
-</pre>
-
-<h3 id="Operators_precedence">Operators precedence</h3>
-
-<p>请注意,由于<a href="/zh-CN/docs/Web/JavaScript/Reference/Operators/Operator_Precedence">运算符优先级</a>的存在,下面的表达式的结果却不相同。右侧被小括号括起来的操作变成了独立的表达式。</p>
-
-<pre class="brush: js">false &amp;&amp; true || true // 结果为 true
-false &amp;&amp; (true || true) // 结果为 false
-</pre>
-
-<h3 id="逻辑与()">逻辑与(<code>&amp;&amp;</code>)</h3>
-
-<p>下面的代码是 &amp;&amp; (逻辑与) 运算符的示例.</p>
-
-<pre class="brush: js">a1 = true &amp;&amp; true // t &amp;&amp; t 返回 true
-a2 = true &amp;&amp; false // t &amp;&amp; f 返回 false
-a3 = false &amp;&amp; true // f &amp;&amp; t 返回 false
-a4 = false &amp;&amp; (3 == 4) // f &amp;&amp; f 返回 false
-a5 = "Cat" &amp;&amp; "Dog" // t &amp;&amp; t 返回 "Dog"
-a6 = false &amp;&amp; "Cat" // f &amp;&amp; t 返回 false
-a7 = "Cat" &amp;&amp; false // t &amp;&amp; f 返回 false
-a8 = '' &amp;&amp; false // f &amp;&amp; f 返回 ""
-a9 = false &amp;&amp; '' // f &amp;&amp; f 返回 false
-</pre>
-
-<h3 id="逻辑或()">逻辑或(<code>||</code>)</h3>
-
-<p>下面的代码是 || (逻辑或) 运算符的示例。</p>
-
-<pre class="brush: js">o1 = true || true // t || t 返回 true
-o2 = false || true // f || t 返回 true
-o3 = true || false // t || f 返回 true
-o4 = false || (3 == 4) // f || f 返回 false
-o5 = "Cat" || "Dog" // t || t 返回 "Cat"
-o6 = false || "Cat" // f || t 返回 "Cat"
-o7 = "Cat" || false // t || f 返回 "Cat"
-o8 = '' || false // f || f 返回 false
-o9 = false || '' // f || f 返回 ""
-</pre>
-
-<h3 id="逻辑非(!)">逻辑非(<code>!</code>)</h3>
-
-<p>下面的代码是 <code>!</code> (逻辑非) 运算符的示例.</p>
-
-<pre class="brush: js">n1 = !true // !t 返回 false
-n2 = !false // !f 返回 true
-n3 = !'' // !f 返回 true
-n4 = !'Cat' // !t 返回 false
-</pre>
-
-<h4 id="双重非(!!)运算符">双重非(<code>!!</code>)运算符</h4>
-
-<p>可能使用双重非运算符的一个场景,是显式地将任意值强制转换为其对应的<a href="https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Data_structures#%E5%B8%83%E5%B0%94%E7%B1%BB%E5%9E%8B">布尔值</a>。这种转换是基于被转换值的 "truthyness" 和 "falsyness"的(参见 {{Glossary("truthy")}} 和 {{Glossary("falsy")}})。</p>
-
-<p>同样的转换可以通过 <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">Boolean</a> 函数完成。</p>
-
-<pre class="brush: js syntaxbox">n1 = !!true // !!truthy 返回 true
-n2 = !!{} // !!truthy 返回 true: <strong>任何</strong> 对象都是 truthy 的…
-n3 = !!(new Boolean(false)) // …甚至 <em>.valueOf()</em> 返回 false 的布尔值对象也是!
-n4 = !!false // !!falsy 返回 false
-n5 = !!"" // !!falsy 返回 false
-n6 = !!Boolean(false) // !!falsy 返回 false
-</pre>
-
-<h3 id="布尔值转换规则">布尔值转换规则</h3>
-
-<h4 id="将_AND_转换为_OR">将 AND 转换为 OR</h4>
-
-<p>以下涉及<strong>布尔</strong>运算的操作:</p>
-
-<pre class="brush: js">bCondition1 &amp;&amp; bCondition2</pre>
-
-<p>总是等于:</p>
-
-<pre class="brush: js">!(!bCondition1 || !bCondition2)</pre>
-
-<h4 id="将_OR_转换为_AND">将 OR 转换为 AND</h4>
-
-<p>以下涉及<strong>布尔</strong>运算的操作:</p>
-
-<pre class="brush: js">bCondition1 || bCondition2</pre>
-
-<p>总是等于:</p>
-
-<pre class="brush: js">!(!bCondition1 &amp;&amp; !bCondition2)</pre>
-
-<h3 id="删除嵌套的小括号">删除嵌套的小括号</h3>
-
-<p>由于逻辑表达式是从左往右计算的,所以,通常可以按照下面的规则删除小括号。</p>
-
-<h4 id="删除嵌套的_AND">删除嵌套的 AND</h4>
-
-<p>以下涉及<strong>布尔</strong>运算的操作:</p>
-
-<pre class="brush: js">bCondition1 || (bCondition2 &amp;&amp; bCondition3)</pre>
-
-<p>总是等于:</p>
-
-<pre class="brush: js">bCondition1 || bCondition2 &amp;&amp; bCondition3</pre>
-
-<h4 id="删除嵌套的_OR">删除嵌套的 OR</h4>
-
-<p>以下涉及<strong>布尔</strong>运算的操作:</p>
-
-<pre class="brush: js">bCondition1 &amp;&amp; (bCondition2 || bCondition3)</pre>
-
-<p>总是等于:</p>
-
-<pre class="brush: js">!(!bCondition1 || !bCondition2 &amp;&amp; !bCondition3)</pre>
-
-<h2 id="规范">规范</h2>
-
-<table class="standard-table">
- <tbody>
- <tr>
- <th scope="col">规范</th>
- <th scope="col">状态</th>
- <th scope="col">备注</th>
- </tr>
- <tr>
- <td>{{SpecName('ES1')}}</td>
- <td>{{Spec2('ES1')}}</td>
- <td>Initial definition.</td>
- </tr>
- <tr>
- <td>{{SpecName('ES5.1', '#sec-11.11')}}</td>
- <td>{{Spec2('ES5.1')}}</td>
- <td>Defined in several sections of the specification: <a href="http://www.ecma-international.org/ecma-262/5.1/#sec-11.4.9">Logical NOT Operator</a>, <a href="http://www.ecma-international.org/ecma-262/5.1/#sec-11.11">Binary Logical Operators</a></td>
- </tr>
- <tr>
- <td>{{SpecName('ES6', '#sec-binary-logical-operators')}}</td>
- <td>{{Spec2('ES6')}}</td>
- <td>Defined in several sections of the specification: <a href="http://www.ecma-international.org/ecma-262/6.0/#sec-logical-not-operator">Logical NOT Operator</a>, <a href="http://www.ecma-international.org/ecma-262/6.0/#sec-binary-logical-operators">Binary Logical Operators</a></td>
- </tr>
- <tr>
- <td>{{SpecName('ESDraft', '#sec-binary-logical-operators')}}</td>
- <td>{{Spec2('ESDraft')}}</td>
- <td>Defined in several sections of the specification: <a href="http://tc39.github.io/ecma262/#sec-logical-not-operator">Logical NOT Operator</a>, <a href="http://tc39.github.io/ecma262/#sec-binary-logical-operators">Binary Logical Operators</a></td>
- </tr>
- </tbody>
-</table>
-
-<h2 id="浏览器兼容性">浏览器兼容性</h2>
-
-
-
-<p>{{Compat("javascript.operators.logical")}}</p>
-
-<h2 id="参见">参见</h2>
-
-<ul>
- <li><a href="/zh-CN/docs/Web/JavaScript/Reference/Operators/Bitwise_Operators">按位操作符</a></li>
- <li><a href="/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Boolean">布尔值</a></li>
- <li><a href="/zh-CN/docs/Glossary/Truthy">Truthy</a></li>
- <li><a href="/zh-CN/docs/Glossary/Falsy">Falsy</a></li>
-</ul>
diff --git a/files/zh-cn/web/javascript/reference/operators/可选链/index.html b/files/zh-cn/web/javascript/reference/operators/optional_chaining/index.html
index da2f04c775..da2f04c775 100644
--- a/files/zh-cn/web/javascript/reference/operators/可选链/index.html
+++ b/files/zh-cn/web/javascript/reference/operators/optional_chaining/index.html
diff --git a/files/zh-cn/web/javascript/reference/operators/管道操作符/index.html b/files/zh-cn/web/javascript/reference/operators/pipeline_operator/index.html
index 06ce40ad0b..06ce40ad0b 100644
--- a/files/zh-cn/web/javascript/reference/operators/管道操作符/index.html
+++ b/files/zh-cn/web/javascript/reference/operators/pipeline_operator/index.html
diff --git a/files/zh-cn/web/javascript/reference/operators/取余/index.html b/files/zh-cn/web/javascript/reference/operators/remainder/index.html
index 276296ccd7..276296ccd7 100644
--- a/files/zh-cn/web/javascript/reference/operators/取余/index.html
+++ b/files/zh-cn/web/javascript/reference/operators/remainder/index.html
diff --git a/files/zh-cn/web/javascript/reference/reserved_words/index.html b/files/zh-cn/web/javascript/reference/reserved_words/index.html
deleted file mode 100644
index 0d52110bfa..0000000000
--- a/files/zh-cn/web/javascript/reference/reserved_words/index.html
+++ /dev/null
@@ -1,82 +0,0 @@
----
-title: Reserved Words
-slug: Web/JavaScript/Reference/Reserved_words
-translation_of: Web/JavaScript/Reference/Lexical_grammar#Keywords
-translation_of_original: Web/JavaScript/Reference/Reserved_Words
----
-<p> </p>
-
-<p>以下这些是ECMAScript规范已经规定的关键字,不能用作变量、函数名、过程、和对象名:</p>
-
-<ul>
- <li><a href="cn/Core_JavaScript_1.5_Reference/Statements/break">break</a></li>
- <li><a href="cn/Core_JavaScript_1.5_Reference/Statements/switch">case</a></li>
- <li><a href="cn/Core_JavaScript_1.5_Reference/Statements/try...catch">catch</a></li>
- <li><a href="cn/Core_JavaScript_1.5_Reference/Statements/continue">continue</a></li>
- <li><a href="cn/Core_JavaScript_1.5_Reference/Statements/switch">default</a></li>
- <li><a href="cn/Core_JavaScript_1.5_Reference/Operators/Special_Operators/delete_Operator">delete</a></li>
- <li><a href="cn/Core_JavaScript_1.5_Reference/Statements/do...while">do</a></li>
- <li><a href="cn/Core_JavaScript_1.5_Reference/Statements/if...else">else</a></li>
- <li><a href="cn/Core_JavaScript_1.5_Reference/Statements/try...catch">finally</a></li>
- <li><a href="cn/Core_JavaScript_1.5_Reference/Statements/for">for</a></li>
- <li><a href="cn/Core_JavaScript_1.5_Reference/Statements/function">function</a></li>
- <li><a href="cn/Core_JavaScript_1.5_Reference/Statements/if...else">if</a></li>
- <li><a href="cn/Core_JavaScript_1.5_Reference/Statements/for...in">in</a></li>
- <li><a href="cn/Core_JavaScript_1.5_Reference/Operators/Special_Operators/instanceof_Operator">instanceof</a></li>
- <li><a href="cn/Core_JavaScript_1.5_Reference/Operators/Special_Operators/new_Operator">new</a></li>
- <li><a href="cn/Core_JavaScript_1.5_Reference/Statements/return">return</a></li>
- <li><a href="cn/Core_JavaScript_1.5_Reference/Statements/switch">switch</a></li>
- <li><a href="cn/Core_JavaScript_1.5_Reference/Operators/Special_Operators/this_Operator">this</a></li>
- <li><a href="cn/Core_JavaScript_1.5_Reference/Statements/throw">throw</a></li>
- <li><a href="cn/Core_JavaScript_1.5_Reference/Statements/try...catch">try</a></li>
- <li><a href="cn/Core_JavaScript_1.5_Reference/Operators/Special_Operators/typeof_Operator">typeof</a></li>
- <li><a href="cn/Core_JavaScript_1.5_Reference/Statements/var">var</a></li>
- <li><a href="cn/Core_JavaScript_1.5_Reference/Operators/Special_Operators/void_Operator">void</a></li>
- <li><a href="cn/Core_JavaScript_1.5_Reference/Statements/while">while</a></li>
- <li><a href="cn/Core_JavaScript_1.5_Reference/Statements/with">with</a></li>
-</ul>
-
-<p>以下是ECMAScript规定的保留字:</p>
-
-<ul>
- <li>abstract</li>
- <li>boolean</li>
- <li>byte</li>
- <li>char</li>
- <li>class</li>
- <li><a href="cn/Core_JavaScript_1.5_Reference/Statements/const">const</a></li>
- <li>debugger</li>
- <li>double</li>
- <li>enum</li>
- <li><a href="cn/Core_JavaScript_1.5_Reference/Statements/export">export</a></li>
- <li>extends</li>
- <li>final</li>
- <li>float</li>
- <li>goto</li>
- <li>implements</li>
- <li><a href="cn/Core_JavaScript_1.5_Reference/Statements/import">import</a></li>
- <li>int</li>
- <li>interface</li>
- <li>long</li>
- <li>native</li>
- <li>package</li>
- <li>private</li>
- <li>protected</li>
- <li>public</li>
- <li>short</li>
- <li>static</li>
- <li>super</li>
- <li>synchronized</li>
- <li>throws</li>
- <li>transient</li>
- <li>volatile</li>
-</ul>
-
-<p>请注意,虽然ECMA-262还没有正式规定,但是在Mozilla中const,export和import已经被作为保留字对待。</p>
-
-<div class="noinclude"><a href="cn/Cn/Core_JavaScript_1.5_Reference/Reserved_Words">cn:Core JavaScript 1.5 Reference:Reserved Words</a>
-
-<p> </p>
-</div>
-
-<p>{{ languages( { "en": "en/Core_JavaScript_1.5_Reference/Reserved_Words" } ) }}</p>
diff --git a/files/zh-cn/web/javascript/reference/statements/default/index.html b/files/zh-cn/web/javascript/reference/statements/default/index.html
deleted file mode 100644
index 12e076166c..0000000000
--- a/files/zh-cn/web/javascript/reference/statements/default/index.html
+++ /dev/null
@@ -1,120 +0,0 @@
----
-title: default
-slug: Web/JavaScript/Reference/Statements/default
-tags:
- - JavaScript
- - Keyword
-translation_of: Web/JavaScript/Reference/Statements/switch
-translation_of_original: Web/JavaScript/Reference/Statements/default
----
-<div>{{jsSidebar("Statements")}}</div>
-
-<div></div>
-
-<p><strong>default 关键字</strong>可以在 JavaScript 的两种情况下使用:在 {{jsxref("Statements/switch", "switch")}} ,或 {{jsxref("Statements/export", "export")}} 中。</p>
-
-<h2 id="语法">语法</h2>
-
-<p>在{{jsxref("Statements/switch", "switch")}} 语句中使用:</p>
-
-<pre class="syntaxbox">switch (expression) {
- case value1:
- //当表达式的值和value1匹配执行这里的语句
- [break;]
- default:
- //当表达式的值没有匹配,执行这里的语句
- [break;]
-}</pre>
-
-<p>在{{jsxref("Statements/export", "export")}} 中使用:</p>
-
-<pre class="syntaxbox">export default <em>nameN</em> </pre>
-
-<h2 id="描述">描述</h2>
-
-<p>更多细节,参见</p>
-
-<ul>
- <li>{{jsxref("Statements/switch", "switch")}} 语句和</li>
- <li>{{jsxref("Statements/export", "export")}} 语句页面。</li>
-</ul>
-
-<h2 id="示例">示例</h2>
-
-<h3 id="在switch语句中使用default">在<code>switch</code>语句中使用<code>default</code></h3>
-
-<p>在以下示例中,如果<code>expr</code>为“Oranges”或“Apples”,程序将匹配“Oranges”或“Apples”的值并执行相应的声明。在任何其它情况下,<code>default</code>关键字将执行关联的语句。</p>
-
-<pre class="brush: js">switch (expr) {
- case "Oranges":
- console.log("Oranges are $0.59 a pound.");
- break;
- case "Apples":
- console.log("Apples are $0.32 a pound.");
- break;
- default:
- console.log("Sorry, we are out of " + expr + ".");
-}</pre>
-
-<h3 id="在export语句中使用default">在<code>export</code>语句中使用<code>default</code></h3>
-
-<p>如果要导出单个值或需要模块的回调值,则可以使用默认导出: </p>
-
-<pre class="brush: js">// module "my-module.js"
-let cube = function cube(x) {
- return x * x * x;
-}
-export default cube;
-</pre>
-
-<p>然后,在另一个脚本中,默认导出将直接被导入:</p>
-
-<pre class="brush: js">// module "my-module.js"
-import myFunction from 'my-module';
-console.log(myFunction(3)); // 27
-</pre>
-
-<h2 id="规范">规范</h2>
-
-<table class="standard-table">
- <tbody>
- <tr>
- <th scope="col">Specification</th>
- <th scope="col">Status</th>
- <th scope="col">Comment</th>
- </tr>
- <tr>
- <td>{{SpecName('ES6', '#sec-switch-statement', 'switch statement')}}</td>
- <td>{{Spec2('ES6')}}</td>
- <td></td>
- </tr>
- <tr>
- <td>{{SpecName('ES6', '#sec-exports', 'Exports')}}</td>
- <td>{{Spec2('ES6')}}</td>
- <td></td>
- </tr>
- <tr>
- <td>{{SpecName('ESDraft', '#sec-switch-statement', 'switch statement')}}</td>
- <td>{{Spec2('ESDraft')}}</td>
- <td></td>
- </tr>
- <tr>
- <td>{{SpecName('ESDraft', '#sec-exports', 'Exports')}}</td>
- <td>{{Spec2('ESDraft')}}</td>
- <td></td>
- </tr>
- </tbody>
-</table>
-
-<h2 id="浏览器兼容">浏览器兼容</h2>
-
-<div class="hidden">The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> and send us a pull request.</div>
-
-<p>{{Compat("javascript.statements.default")}}</p>
-
-<h2 id="See_also">See also</h2>
-
-<ul>
- <li>{{jsxref("Statements/export", "export")}}</li>
- <li>{{jsxref("Statements/switch", "switch")}}</li>
-</ul>
diff --git a/files/zh-cn/web/javascript/reference/template_strings/index.html b/files/zh-cn/web/javascript/reference/template_literals/index.html
index aec3adfb5b..aec3adfb5b 100644
--- a/files/zh-cn/web/javascript/reference/template_strings/index.html
+++ b/files/zh-cn/web/javascript/reference/template_literals/index.html
diff --git a/files/zh-cn/web/javascript/the_performance_hazards_of__[[prototype]]_mutation/index.html b/files/zh-cn/web/javascript/the_performance_hazards_of_prototype_mutation/index.html
index aacff4c8d9..aacff4c8d9 100644
--- a/files/zh-cn/web/javascript/the_performance_hazards_of__[[prototype]]_mutation/index.html
+++ b/files/zh-cn/web/javascript/the_performance_hazards_of_prototype_mutation/index.html