首頁  >  文章  >  web前端  >  JavaScript Proxy()物件的理解使用(程式碼範例)

JavaScript Proxy()物件的理解使用(程式碼範例)

藏色散人
藏色散人原創
2019-03-27 15:19:512476瀏覽

JavaScript中的代理物件用於定義基本操作的自訂行為(例如,屬性查找,賦值,枚舉,函數呼叫等)。

JavaScript Proxy()物件的理解使用(程式碼範例)

語法:

var p = new Proxy(target, handler);

參數:代理物件接受如上所述的兩個參數,如下所述:

target:要使用Proxy包裝的目標物件(可以是任何類型的對象,包括函數,類,甚至是另一個代理)。

handler:一個對象,其屬性是在對其執行操作時定義代理行為的函數。

範例:

<script> 
const Person = { 
    Name: &#39;John Nash&#39;, 
    Age: 25 
}; 
  
const handler = { 
    // target表示Person,而prop表示代理属性。
    get: function(target, prop) { 
        if (prop === &#39;FirstName&#39;) { 
            return target.Name.split(&#39; &#39;)[0]; 
        } 
        if (prop === &#39;LastName&#39;) { 
            return target.Name.split(&#39; &#39;).pop(); 
        } 
        else { 
            return Reflect.get(target,prop); 
        } 
    } 
}; 
  
const proxy1 = new Proxy(Person, handler); 
  
document.write(proxy1 + "<br>"); 
  
// 虽然没有像FirstName和LastName那样的属性,但是我们仍然获取到它们,就好像它们是属性而不是函数一样。
document.write(proxy1.FirstName + "<br>"); 
document.write(proxy1.LastName  + "<br>");      
</script>

輸出:

[object Object]
John
Nash

注意:如果安裝了NodeJs,上面的程式碼可以直接在終端機運行,否則可以在HTML檔案中運行,方法是在script標籤中貼上上面的程式碼,然後在任何web瀏覽器的控制台中檢查輸出。

相關推薦:《JavaScript教學

#

以上是JavaScript Proxy()物件的理解使用(程式碼範例)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn