• es6——Proxy和Reflect


    Proxy代理,Reflect反射

    Proxy对属性的读取

    { //供应商,原始对象 
    
    let obj={
    
     time:'2017-1-1', 
    
    name:'net', 
    
    _r:123 } 
    
    //代理商,新生成一个Proxy对象,将要代理的对象放进去,后面是实现代理的方法 
    
    let monitor=new Proxy(obj,{ 
    
    //拦截对象属性的读取 
    
    get(target,key){ 
    
    return target[key].replace('2017','2016')//将读取到的2017全部替换成2018 
    
    } })
    //拦截对象设置属性,target是前面的object对象,key是要修改属性,value是值 
    set(target,key,value){
     if(key=='name') {
     return target[key]=value;//新的value值赋给找的的属性key,再赋给Object对象
     }else{ 
    return target[key]; 
    } } 
    
    console.log('get',monitor.time) 
    
    //从monitor中读取time
    
     //monitor.time 
      monitor.time='2018'; 
      monitor.name="xxxxx"; 
      console.log('set',monitor,obj);
    }

    通过读和写操作就可以做很多事了

    这样的操作甚至可以起到欺骗作用

    这样是删除操作

  • 相关阅读:
    获取comboBox里面的item使用的方法
    QT格式化代码
    按键槽的写法
    int to String
    sprintf在51单片机中的使用
    学习使用MarkDown
    分享9款超酷的jQuery/CSS3插件
    2014年展望
    操作系统面试
    web一点小结
  • 原文地址:https://www.cnblogs.com/ellen-mylife/p/10846459.html
Copyright © 2020-2023  润新知