语法高亮,滚动条美化,设置页面调整

This commit is contained in:
fofolee
2019-04-19 02:41:09 +08:00
parent 1e8f76c000
commit 359d29ee0b
1590 changed files with 12328 additions and 11441 deletions

View File

@@ -4,7 +4,7 @@
<div><iframe class="interactive interactive-js" frameborder="0" height="250" src="https://interactive-examples.mdn.mozilla.net/pages/js/object-entries.html" width="100%"></iframe></div>
<p class="hidden">The source for this interactive example is stored in a GitHub repository. If you'd like to contribute to the interactive examples project, please clone <a class="external" href="https://github.com/mdn/interactive-examples" rel="noopener">https://github.com/mdn/interactive-examples</a> and send us a pull request.</p>
<h2 id="语法">语法</h2>
<pre class="syntaxbox">Object.entries(<var>obj</var>)</pre>
<pre><code class="language-javascript">Object.entries(<var>obj</var>)</code></pre>
<h3 id="参数">参数</h3>
<dl>
<dt><code>obj</code></dt>
@@ -17,7 +17,7 @@
<h2 id="描述">描述</h2>
<p><code>Object.entries()</code>返回一个数组,其元素是与直接在<code>object</code>上找到的可枚举属性键值对相对应的数组。属性的顺序与通过手动循环对象的属性值所给出的顺序相同。</p>
<h2 id="示例">示例</h2>
<pre class="brush: js">const obj = { foo: 'bar', baz: 42 };
<pre><code class="language-javascript">const obj = { foo: 'bar', baz: 42 };
console.log(Object.entries(obj)); // [ ['foo', 'bar'], ['baz', 42] ]
// array like object
@@ -45,15 +45,15 @@ for (const [key, value] of Object.entries(obj)) {
// Or, using array extras
Object.entries(obj).forEach(([key, value]) =&gt; {
console.log(`${key} ${value}`); // "a 5", "b 7", "c 9"
});</pre>
});</code></pre>
<h3 id="将Object转换为Map"><code>Object</code>转换为<code>Map</code></h3>
<p><a href="Reference/Map" title="此页面仍未被本地化, 期待您的翻译!"><code>new Map()</code></a> 构造函数接受一个可迭代的<code>entries</code>。借助<code>Object.entries</code>方法你可以很容易的将<a href="Reference/Global_Objects/Object" title="Object 构造函数创建一个对象包装器。"><code>Object</code></a>转换为<a href="Reference/Map" title="此页面仍未被本地化, 期待您的翻译!"><code>Map</code></a>:</p>
<pre class="brush: js">var obj = { foo: "bar", baz: 42 };
<pre><code class="language-javascript">var obj = { foo: "bar", baz: 42 };
var map = new Map(Object.entries(obj));
console.log(map); // Map { foo: "bar", baz: 42 }</pre>
console.log(map); // Map { foo: "bar", baz: 42 }</code></pre>
<h2 id="Polyfill">Polyfill</h2>
<p>要在较旧环境中添加兼容的<code>Object.entries</code>支持,你可以在 <a class="external" href="https://github.com/tc39/proposal-object-values-entries" rel="noopener">tc39/proposal-object-values-entries</a> 中找到Object.entries的示例如果你不需要任何对IE的支持 <a class="external" href="https://github.com/es-shims/Object.entries" rel="noopener">es-shims/Object.entries</a> 资料库中的一个polyfill或者你可以使用下面列出的简易 polyfill。</p>
<pre class="brush: js">if (!Object.entries)
<pre><code class="language-javascript">if (!Object.entries)
Object.entries = function( obj ){
var ownProps = Object.keys( obj ),
i = ownProps.length,
@@ -62,7 +62,7 @@ console.log(map); // Map { foo: "bar", baz: 42 }</pre>
resArray[i] = [ownProps[i], obj[ownProps[i]]];
return resArray;
};</pre>
};</code></pre>
<p>对于上述 polyfill 代码片段,如果你需要 IE9 以下的支持,那么你还需要一个 Object.keys polyfill <a href="Reference/Global_Objects/Object/keys" title="Object.keys() 方法会返回一个由一个给定对象的自身可枚举属性组成的数组,数组中属性名的排列顺序和使用 for...in 循环遍历该对象时返回的顺序一致 。"><code>Object.keys</code></a>页面上的)。</p>
<h2 id="规范">规范</h2>
<table class="standard-table">