mirror of
https://github.com/fofolee/uTools-Manuals.git
synced 2026-02-27 17:44:35 +08:00
语法高亮,滚动条美化,设置页面调整
This commit is contained in:
@@ -2,11 +2,11 @@
|
||||
<div></div>
|
||||
<p><strong><code>handler.defineProperty()</code></strong> 用于拦截对对象的 <a href="Reference/Global_Objects/Object/defineProperty" title="Object.defineProperty() 方法会直接在一个对象上定义一个新属性,或者修改一个对象的现有属性, 并返回这个对象。"><code>Object.defineProperty()</code></a> 操作。</p>
|
||||
<h2 id="语法">语法</h2>
|
||||
<pre class="brush: js">var p = new Proxy(target, {
|
||||
<pre><code class="language-javascript">var p = new Proxy(target, {
|
||||
defineProperty: function(target, property, descriptor) {
|
||||
}
|
||||
});
|
||||
</pre>
|
||||
</code></pre>
|
||||
<h3 id="参数">参数</h3>
|
||||
<p>下列参数将会被传递给 <code>defineProperty</code> 方法。<code> this</code> 绑定在 handler 对象上。</p>
|
||||
<dl>
|
||||
@@ -38,7 +38,7 @@
|
||||
</ul>
|
||||
<h2 id="示例">示例</h2>
|
||||
<p>以下代码演示如何拦截对目标对象的 <a href="Reference/Global_Objects/Object/defineProperty" title="Object.defineProperty() 方法会直接在一个对象上定义一个新属性,或者修改一个对象的现有属性, 并返回这个对象。"><code>Object.defineProperty()</code></a> 操作。</p>
|
||||
<pre class="brush: js">var p = new Proxy({}, {
|
||||
<pre><code class="language-javascript">var p = new Proxy({}, {
|
||||
defineProperty: function(target, prop, descriptor) {
|
||||
console.log('called: ' + prop);
|
||||
return true;
|
||||
@@ -47,7 +47,7 @@
|
||||
|
||||
var desc = { configurable: true, enumerable: true, value: 10 };
|
||||
Object.defineProperty(p, 'a', desc); // "called: a"
|
||||
</pre>
|
||||
</code></pre>
|
||||
<p>当调用 <a href="Reference/Global_Objects/Object/defineProperty" title="Object.defineProperty() 方法会直接在一个对象上定义一个新属性,或者修改一个对象的现有属性, 并返回这个对象。"><code>Object.defineProperty()</code></a> 或者 <a href="Reference/Global_Objects/Reflect/defineProperty" title="静态方法 Reflect.defineProperty() 基本等同于 Object.defineProperty() 方法,唯一不同是返回 Boolean 值。"><code>Reflect.defineProperty()</code></a>,传递给 <code>defineProperty</code> 的 <code>descriptor</code> 有一个限制 - 只有以下属性才有用,非标准的属性将会被无视 :</p>
|
||||
<ul>
|
||||
<li><code>enumerable</code></li>
|
||||
@@ -57,7 +57,7 @@ Object.defineProperty(p, 'a', desc); // "called: a"
|
||||
<li><code>get</code></li>
|
||||
<li><code>set</code></li>
|
||||
</ul>
|
||||
<pre class="brush: js">var p = new Proxy({}, {
|
||||
<pre><code class="language-javascript">var p = new Proxy({}, {
|
||||
defineProperty(target, prop, descriptor) {
|
||||
console.log(descriptor);
|
||||
return Reflect.defineProperty(target, prop, descriptor);
|
||||
@@ -68,7 +68,7 @@ Object.defineProperty(p, 'name', {
|
||||
value: 'proxy',
|
||||
type: 'custom'
|
||||
}); // { value: 'proxy' }
|
||||
</pre>
|
||||
</code></pre>
|
||||
<h2 id="规范">规范</h2>
|
||||
<table class="standard-table">
|
||||
<tbody>
|
||||
|
||||
Reference in New Issue
Block a user