123456789101112131415161718192021222324252627282930313233343536373839404142 |
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <title>Document</title>
- </head>
- <body>
- <script>
- /**
- * 代理 proxy
- * const proxy = new Proxy(target,handler);
- * target 目标值
- * handler 包含一系列的拦截操作
- *
- * */
- let obj = {
- name:'Lucy',
- // age: 18
- }
- const vase = new Proxy(obj,{
- get(target,key,prototype) {
- console.log(target,'目标对象');
- console.log(key,'方法');
- console.log(prototype,'代理值');
- return target;
- },
- set(target,key,prototype) {
- console.log(target,'原对象')
- console.log(key,'修改的属性');
- console.log(prototype,'新对象');
- //执行代理中的内容
- return target[key] = 'AAA';
- }
- })
- vase.name = 'LiLi';
- console.log(vase.set);
- // console.log(vase.get.name);
- // console.log(vase.set);
- </script>
- </body>
- </html>
|