16_proxy.html 839 B

123456789101112131415161718192021222324252627282930313233343536
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7. <title>Document</title>
  8. </head>
  9. <body>
  10. <script>
  11. /* 创建代理 */
  12. // const proxy = new Proxy(target,handler)
  13. /* target 想要代理的目标对象 */
  14. /* handler 包含各种拦截操作的对象 */
  15. var obj = {
  16. name:'zs'
  17. }
  18. var a = new Proxy(obj,{
  19. get(target,key,property){
  20. console.log(target,key,property)
  21. },
  22. set(target,key,value){
  23. console.log(target,key,value)
  24. return target[key] = value
  25. }
  26. })
  27. a.name = 'lisi'
  28. console.log(a)
  29. /* apply(target,this.arg,argumentsList) 拦截目标对象函数的调用操作 */
  30. </script>
  31. </body>
  32. </html>