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

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

@@ -3,7 +3,7 @@
<p>本页为<a href="Reference/Global_Objects/Object/defineProperty" title="Object.defineProperty() 方法会直接在一个对象上定义一个新属性,或者修改一个对象的现有属性, 并返回这个对象。"><code>Object.defineProperty()</code></a>提供一个附加示例。</p>
<h2 id="使用二进制标志代替属性来描述对象">使用二进制标志代替属性来描述对象</h2>
<p>如果你通过<a href="Reference/Global_Objects/Object/defineProperty" title="Object.defineProperty() 方法会直接在一个对象上定义一个新属性,或者修改一个对象的现有属性, 并返回这个对象。"><code>Object.defineProperty()</code></a>方法定义了许多属性,你可以通过<a href="Reference/Operators/Bitwise_Operators#Signed_32-bit_integers" title="按位操作符Bitwise operators 将其操作数operands当作32位的比特序列由0和1组成而不是十进制、十六进制或八进制数值。例如十进制数9用二进制表示则为1001。按位操作符操作数字的二进制形式但是返回值依然是标准的JavaScript数值。"><code>二进制标志</code></a>使用相同的描述对象,一次次重新定义每个属性。</p>
<pre class="brush: js">var oDesc = {};
<pre><code class="language-javascript">var oDesc = {};
function setProp (nMask, oObj, sKey, vVal_fGet, fSet) {
if (nMask &amp; 8) {
// accessor descriptor
@@ -114,10 +114,10 @@ for (var sProp in myObj) {
}
alert(sList);
</pre>
</code></pre>
<h2 id="创建一个新的Object.setProperty()_方法">创建一个新的<code>Object.setProperty()</code> 方法</h2>
<p>你可以对通过匿名构造函数和<a href="Reference/Global_Objects/Object" title="Object 构造函数创建一个对象包装器。"><code>Object</code></a>的名为<code>setProperty()</code>的自定义方法获取的描述符对象做同样的事情:</p>
<pre class="brush: js">// creating a new Object method named Object.setProperty()
<pre><code class="language-javascript">// creating a new Object method named Object.setProperty()
new (function() {
var oDesc = this;
@@ -165,10 +165,10 @@ Object.setProperty(1, myObj, 'myString', 'Hello world!');
// etc. etc.
</pre>
</code></pre>
<div class="note"><strong>注意:</strong><code>Object.setProperty()</code>方法是一个 JavaScript 新的原生方法的提议(参见<a class="external" href="https://bugs.ecmascript.org/show_bug.cgi?id=335" rel="external noopener">ECMAScript bug 335</a>)。</div>
<h3 id="语法">语法</h3>
<pre class="syntaxbox">Object.setProperty(<var>bitmask</var>, <var>obj</var>, <var>prop</var>[, <var>value/getter</var>[, <var>setter</var>]])</pre>
<pre><code class="language-javascript">Object.setProperty(<var>bitmask</var>, <var>obj</var>, <var>prop</var>[, <var>value/getter</var>[, <var>setter</var>]])</code></pre>
<h3 id="参数">参数</h3>
<dl>
<dt><code>bitmask</code></dt>
@@ -212,7 +212,7 @@ Object.setProperty(1, myObj, 'myString', 'Hello world!');
<div class="note"><strong>注意:</strong>如果标志<code>0x8</code>被设置为访问描述符,则标志<code>0x4</code>(可写)将被忽略。否则,<code>setter</code>参数将被忽略。</div>
<h2 id="HTMLSelectElement.selectedIndex_实现">HTMLSelectElement.selectedIndex 实现</h2>
<p>你也可以使用本地方法 <code>Object.defineProperty()</code>。用以下例子展现如何实现<a href="/zh-CN/docs/Web/API/HTMLSelectElement" title="The HTMLSelectElement interface represents a &lt;select&gt; HTML Element. These elements also share all of the properties and methods of other HTML elements via the HTMLElement interface."><code>HTMLSelectElement</code></a> 和 <a href="/zh-CN/docs/Web/API/HTMLSelectElement/selectedIndex" title="HTMLSelectElement.selectedIndex 是一个长整型数它反映了被选中的第一个&lt;option&gt; 元素的索引值。值为-1时表明没有元素被选中。"><code>selectedIndex</code></a>单选框组属性。</p>
<pre class="brush: html">&lt;!doctype html&gt;
<pre><code class="language-html">&lt;!doctype html&gt;
&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /&gt;
@@ -270,5 +270,5 @@ function checkForm() {
&lt;/form&gt;
&lt;/body&gt;
&lt;/html&gt;
</pre>
</code></pre>
</article>