4.proxy.js 590 B

123456789101112131415161718192021222324252627
  1. /**
  2. * 代理 proxy
  3. * 创建代理
  4. * const proxy = new Proxy(target,handler)
  5. * target 代理的目标对象
  6. * handler 包含各种拦截操作的对象
  7. */
  8. var obj = {
  9. name: 'LiLi'
  10. }
  11. var a = new Proxy(obj,{
  12. get(target,key,prototype) {
  13. // console.log(target,key,prototype,'get1');
  14. // return prototype;
  15. },
  16. set(target,key,value) {
  17. // 原对象 当前属性值 代理值
  18. console.log(target,key,value,'set1')
  19. return target[key] = 'AAA';
  20. }
  21. })
  22. a.name = 'Lucy';
  23. // console.log(a.get,'a')
  24. console.log(a,'c')
  25. // console.log(a.set,'b')