本文摘自PHP中文网,作者藏色散人,侵删。
JavaScript中的代理对象用于定义基本操作的自定义行为(例如,属性查找,赋值,枚举,函数调用等)。
语法:
1 | var p = new Proxy(target, handler);
|
参数:代理对象接受如上所述的两个参数,如下所述:
target:要使用Proxy包装的目标对象(可以是任何类型的对象,包括函数,类,甚至是另一个代理)。
handler:一个对象,其属性是在对其执行操作时定义代理行为的函数。
例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | <script>
const Person = {
Name: 'John Nash' ,
Age: 25
};
const handler = {
get: function (target, prop) {
if (prop === 'FirstName' ) {
return target.Name.split( ' ' )[0];
}
if (prop === 'LastName' ) {
return target.Name.split( ' ' ).pop();
}
else {
return Reflect.get(target,prop);
}
}
};
const proxy1 = new Proxy(Person, handler);
document.write(proxy1 + "<br>" );
document.write(proxy1.FirstName + "<br>" );
document.write(proxy1.LastName + "<br>" );
</script>
|
输出:
注意:如果安装了NodeJs,上面的代码可以直接在终端运行,否则可以在HTML文件中运行,方法是在script标签中粘贴上面的代码,然后在任何web浏览器的控制台中检查输出。
相关推荐:《JavaScript教程》
以上就是JavaScript Proxy()对象的理解使用(代码示例)的详细内容,更多文章请关注木庄网络博客!
相关阅读 >>
javascript如何判断是否数字
深入分析javascript的module模式编程
javascript中类型检查:typeof和instanceof操作符的区别
javascript vs dart 两者之间的区别与作用
为什么使用vue的作用域插槽?什么时候使用?
javascript怎么设置背景颜色
javascript $是什么意思
javascript字符串怎么进行编码转换
javascript的split()方法有什么用?
javascript怎么设置固定时间
更多相关阅读请进入《javascript》频道 >>
人民邮电出版社
本书对 Vue.js 3 技术细节的分析非常可靠,对于需要深入理解 Vue.js 3 的用户会有很大的帮助。——尤雨溪,Vue.js作者
转载请注明出处:木庄网络博客 » JavaScript Proxy()对象的理解使用(代码示例)