zoukankan      html  css  js  c++  java
  • es6-proxy

    proxy :代理
    增强 扩展
    一个 Proxy 对象由两个部分组成: target 、 handler 。
    在通过 Proxy 构造函数生成实例对象时,需要提供这两个参数。
    target 即目标对象, handler 是一个对象,声明了代理 target 的指定行为。
    handler:{
    set(){} 设置
    get(){} 获取
    deleteProperty(){} 删除
    has(){} //有没有
    apply() //调用函数
    }
    例子1:
    let target = {
        name: "Tom",
        age: 24
      };
      let handler = {
        get: function(target, key) {
          console.log("getting " + key);
          return target[key]; // 不是target.key
        },
        set: function(target, key, value) {
          console.log("setting " + key);
          console.log(target[key])
          target[key] = value;
        }
      };
      let proxy = new Proxy(target, handler);
      proxy.name; // 实际执行 handler.get
      console.log(proxy.age)
      proxy.age = 25; // 实际执行 handler.set

    例子2:创建元素

    //拦截
        const DOM=new Proxy({},{
            get(target,property){
                console.log(property)
                return function(attr={},...children){
                    const el=document.createElement(property)
                    for(let key of Object.keys(attr)){
                        el.setAttribute(key,attr[key])
                    }
                    for(let child of children){
                        if(typeof child=='string'){
                            child=document.createTextNode(child)
                        }
                        el.appendChild(child)
                    }
                    return el;
                }
            }
        })
       let oDiv=DOM.div({id:'div1',class:'aaa'},'我是Div','呵呵',DOM.a({href:'http://baidu'},'百度'))
       console.log(oDiv)
     
    ♪♫♬ 梦想我想不只是拿来实现的,它可以提醒我们,我们可以努力,我们可以变更好。
  • 相关阅读:
    爬虫相关知识(二 )xpath
    爬虫相关知识(一)
    html基础知识
    接口和异常
    继承与多态
    方法与方法重载,方法重写
    面向对象预习随笔
    《深入浅出MFC》第三章 MFC六大关键技术之仿真
    《深入浅出MFC》第二章 C++的重要性质
    《深入浅出MFC》第一章 Win32基本程序概念
  • 原文地址:https://www.cnblogs.com/yanloveyue/p/11286839.html
Copyright © 2011-2022 走看看