本文摘自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中的map、weakmap、set和weakset
promise是什么?怎么用?
ios加载html5 audio标签时遇到的问题分享
javascript怎么将负数转正
javascript怎么判断对象是否为空
检测javascript里最有效率的功能特征的方法解析
javascript如何实现时间戳转时间
head标签中有什么属性?
javascript如何判断变量是否定义
更多相关阅读请进入《javascript》频道 >>
人民邮电出版社
本书对 Vue.js 3 技术细节的分析非常可靠,对于需要深入理解 Vue.js 3 的用户会有很大的帮助。——尤雨溪,Vue.js作者
转载请注明出处:木庄网络博客 » JavaScript Proxy()对象的理解使用(代码示例)