Rumah  >  Artikel  >  hujung hadapan web  >  JavaScript Proxy()对象的理解使用(代码示例)

JavaScript Proxy()对象的理解使用(代码示例)

藏色散人
藏色散人asal
2019-03-27 15:19:512536semak imbas

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教程

Atas ialah kandungan terperinci JavaScript Proxy()对象的理解使用(代码示例). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn