美文网首页
ES6-Proxy 拦截器

ES6-Proxy 拦截器

作者: gitblong | 来源:发表于2019-06-25 20:51 被阅读0次
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Proxy</title>
    </head>
    <body>
    <script>
    
        //Proxy的使用方式
        let obj = new Proxy({}, {
            get(target,key,receiver){
                console.log("getting",target,key,receiver);
                return Reflect.get(target,key,receiver);
            },
            set: function (target,key,value,receiver) {
                console.log("setting",target,key,value,receiver);
                return Reflect.set(target, key, value, receiver);
            }
        });
    
        obj.count = 1;
        ++obj.count;
        console.log("???",obj.count);
    
        //Proxy实例可作为其他对象的原型对象
        let objPrototype = new Proxy({},{
            get:function (target, property) {
                return 35;
            }
        });
        let extendProxyObj = Object.create(objPrototype);
        let time = extendProxyObj.time;
        console.log(time);//35  因为对象上无初始值,所以使用原型链上提供的值
        extendProxyObj.time = 10;
        console.log(extendProxyObj.time,extendProxyObj);//10 {time: 10},该对象上有值了
    
    </script>
    </body>
    </html>
    

    相关文章

      网友评论

          本文标题:ES6-Proxy 拦截器

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