aboutsummaryrefslogtreecommitdiff
path: root/files/zh-cn/web/javascript/reference/operators/spread_syntax
diff options
context:
space:
mode:
Diffstat (limited to 'files/zh-cn/web/javascript/reference/operators/spread_syntax')
-rw-r--r--files/zh-cn/web/javascript/reference/operators/spread_syntax/index.html34
1 files changed, 17 insertions, 17 deletions
diff --git a/files/zh-cn/web/javascript/reference/operators/spread_syntax/index.html b/files/zh-cn/web/javascript/reference/operators/spread_syntax/index.html
index aaa1544a4c..0397ee8e96 100644
--- a/files/zh-cn/web/javascript/reference/operators/spread_syntax/index.html
+++ b/files/zh-cn/web/javascript/reference/operators/spread_syntax/index.html
@@ -16,13 +16,13 @@ translation_of: Web/JavaScript/Reference/Operators/Spread_syntax
<p class="hidden">该示例的源代码存放于Github中,如果你想进行修订,请先克隆<a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a>, 修改完成之后再通过pull request的方式推送给源仓库。</p>
-<h2 id="语法"><font><font>语法</font></font></h2>
+<h2 id="语法">语法</h2>
-<p><font><font>函数调用:</font></font></p>
+<p>函数调用:</p>
<pre class="syntaxbox notranslate">myFunction(...iterableObj);</pre>
-<p><font><font>字面量数组构造或字符串:</font></font></p>
+<p>字面量数组构造或字符串:</p>
<pre class="notranslate">[...iterableObj, '4', ...'hello', 6];</pre>
@@ -30,25 +30,25 @@ translation_of: Web/JavaScript/Reference/Operators/Spread_syntax
<pre class="syntaxbox notranslate">let objClone = { ...obj };</pre>
-<h2 id="示例"><font><font>示例</font></font></h2>
+<h2 id="示例">示例</h2>
<h3 id="在函数调用时使用展开语法">在函数调用时使用展开语法</h3>
<h4 id="等价于apply的方式">等价于apply的方式</h4>
-<p><font><font>如果想将数组元素迭代为函数参数,一般使用</font></font>{{jsxref( "Function.prototype.apply")}} 的方式进行调用<font><font>。</font></font></p>
+<p>如果想将数组元素迭代为函数参数,一般使用{{jsxref( "Function.prototype.apply")}} 的方式进行调用。</p>
<pre class="brush: js notranslate">function myFunction(x, y, z) { }
var args = [0, 1, 2];
myFunction.apply(null, args);</pre>
-<p><font><font>有了展开语法,可以这样写:</font></font></p>
+<p>有了展开语法,可以这样写:</p>
<pre class="brush: js notranslate"><code>function myFunction(x, y, z) { }
var args = [0, 1, 2];
myFunction(...args);</code></pre>
-<p><font><font>所有参数都可以通过展开语法来传值,也不限制多次使用展开语法。</font></font></p>
+<p>所有参数都可以通过展开语法来传值,也不限制多次使用展开语法。</p>
<pre class="brush: js notranslate">function myFunction(v, w, x, y, z) { }
var args = [0, 1];
@@ -56,13 +56,13 @@ myFunction(-1, ...args, 2, ...[3]);</pre>
<h4 id="在_new_表达式中应用">在 new 表达式中应用</h4>
-<p><font><font>使用 </font></font><code>new</code><font><font> 关键字来调用构造函数时</font></font><font><font>,不能</font></font><strong><font><font>直接</font></font></strong><font><font>使用数组+ </font></font><code>apply</code><font><font> 的方式(</font></font><code>apply</code><font><font> 执行的是调用 </font></font><code>[[Call]]</code><font><font> , 而不是构造 </font></font><code>[[Construct]]</code><font><font>)。当然</font><font>, 有了展开语法, 将数组展开为构造函数的参数就很简单了:</font></font></p>
+<p>使用 <code>new</code> 关键字来调用构造函数时,不能<strong>直接</strong>使用数组+ <code>apply</code> 的方式(<code>apply</code> 执行的是调用 <code>[[Call]]</code> , 而不是构造 <code>[[Construct]]</code>)。当然, 有了展开语法, 将数组展开为构造函数的参数就很简单了:</p>
-<pre class="brush: js notranslate"><font><font>var dateFields = [1970, 0, 1]; </font><font>// 1970年1月1日</font></font><font><font>
+<pre class="brush: js notranslate">var dateFields = [1970, 0, 1]; // 1970年1月1日
var d = new Date(...dateFields);</font></font>
</pre>
-<p><font><font>如果不使用展开语法, 想将数组元素传给构造函数, 实现方式可能是这样的</font></font><font><font>:</font></font></p>
+<p>如果不使用展开语法, 想将数组元素传给构造函数, 实现方式可能是这样的:</p>
<pre class="brush: js notranslate">function applyAndNew(constructor, args) {
function partial () {
@@ -90,13 +90,13 @@ console.log(new myConstructorWithArguments);
// (myConstructor构造函数中): ["hi", "how", "are", "you", "mr", null]
// ("new myConstructorWithArguments"中): {prop1: "val1", prop2: "val2"}</pre>
-<h3 id="构造字面量数组时使用展开语法"><font><font>构造字面量数组时使用展开语法</font></font></h3>
+<h3 id="构造字面量数组时使用展开语法">构造字面量数组时使用展开语法</h3>
-<h4 id="构造字面量数组时更给力!"><font><font>构造字面量数组时更给力!</font></font></h4>
+<h4 id="构造字面量数组时更给力!">构造字面量数组时更给力!</h4>
-<p><font><font>没有展开语法的时候,只能组合使用 </font></font><code>push</code><font><font>, </font></font><code>splice</code><font><font>, </font></font><code>concat</code><font><font> 等方法,来将已有数组元素变成新数组的一部分。有了展开语法,  通过字面量方式, 构造新数组会变得更简单、更优雅:</font></font></p>
+<p>没有展开语法的时候,只能组合使用 <code>push</code>, <code>splice</code>, <code>concat</code> 等方法,来将已有数组元素变成新数组的一部分。有了展开语法,  通过字面量方式, 构造新数组会变得更简单、更优雅:</p>
-<pre class="brush: js notranslate"><font><font>var parts = ['shoulders', 'knees'];
+<pre class="brush: js notranslate">var parts = ['shoulders', 'knees'];
var lyrics = ['head', ...parts, 'and', 'toes']; </font></font>
// ["head", "shoulders", "knees", "and", "toes"]
</pre>
@@ -151,7 +151,7 @@ var arr2 = [3, 4, 5];
arr1 = [...arr2, ...arr1]; // arr1 现在为 [3, 4, 5, 0, 1, 2]
</pre>
-<h3 id="构造字面量对象时使用展开语法">构造<font><font>字面量对象时使用展开语法</font></font></h3>
+<h3 id="构造字面量对象时使用展开语法">构造字面量对象时使用展开语法</h3>
<p><a href="https://github.com/tc39/proposal-object-rest-spread">Rest/Spread Properties for ECMAScript</a> 提议(stage 4) 对 <a href="/zh-CN/docs/Web/JavaScript/Reference/Operators/Object_initializer">字面量对象</a> 增加了展开特性。其行为是, 将已有对象的所有可枚举(enumerable)属性拷贝到新构造的对象中.</p>
@@ -232,12 +232,12 @@ var array = [...obj]; // TypeError: obj is not iterable
</tbody>
</table>
-<h2 id="浏览器兼容性"><font><font>浏览器兼容性</font></font></h2>
+<h2 id="浏览器兼容性">浏览器兼容性</h2>
<p>{{Compat("javascript.operators.spread")}}</p>
<h2 id="相关链接">相关链接</h2>
<ul>
- <li><a href="/zh-CN/docs/Web/JavaScript/Reference/Functions/Rest_parameters"><font><font>剩余参数</font></font></a><font><font>(Rest Parameters也使用' </font></font><code>...</code><font><font> ')</font></font></li>
+ <li><a href="/zh-CN/docs/Web/JavaScript/Reference/Functions/Rest_parameters">剩余参数</a>(Rest Parameters也使用' <code>...</code> ')</li>
</ul>