mirror of
https://github.com/fofolee/uTools-Manuals.git
synced 2025-12-15 07:06:53 +08:00
语法高亮,滚动条美化,设置页面调整
This commit is contained in:
@@ -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 & 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 <select> 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 是一个长整型数,它反映了被选中的第一个<option> 元素的索引值。值为-1时表明没有元素被选中。"><code>selectedIndex</code></a>单选框组属性。</p>
|
||||
<pre class="brush: html"><!doctype html>
|
||||
<pre><code class="language-html"><!doctype html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
||||
@@ -270,5 +270,5 @@ function checkForm() {
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
</pre>
|
||||
</code></pre>
|
||||
</article>
|
||||
Reference in New Issue
Block a user