美文网首页
proxy 代理

proxy 代理

作者: 无花无酒_3cd3 | 来源:发表于2022-07-03 16:41 被阅读0次
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
    </head>
    <body>
    <div id="box">
        
    </div>
    
        <script>
         var person = {
              name: "张三",
              sex:"男"
            };
                //目标对象
                //处理程序对象,是来处理数据的
            var proxy = new Proxy(person, {
              get: function(target, propKey) {
                console.log(target,propKey)
                console.log(Reflect.get(target,propKey))
                if (propKey in target) {
                  return Reflect.get(target,propKey);
                } else {
                  throw new ReferenceError("Prop name \"" + propKey + "\" does not exist.");
                }
              },
              set(target,propKey,value){
                console.log(value,"设置")
                let ref=Reflect.set(target, propKey,value)
                    box.innerHTML= proxy.name + person.age
                return ref
              }
    
            });
            //通过代理对象,查询和设置目标对象的某个属性。
         console.log(proxy.name )   // "张三"
         proxy.name="王五"
         proxy.age=20
         console.log(proxy)
         console.log(person)
        // proxy.baba // 抛出一个错误
        // Reflect.get(target,propKey)=target[propKey]
        //  https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Reflect/get
        </script>
    </body>
    </html>
    

    相关文章

      网友评论

          本文标题:proxy 代理

          本文链接:https://www.haomeiwen.com/subject/ejtrbrtx.html