jq代理和es6的proxy代理

 <script>
    //  // jq的事件代理
           // jq的事件代理
           function Car(){
           this.name="兰博基尼";
           this.show=function(){
           console.log("好牛逼的车")
           }
           }
           var expensiveCar=new Car();
          // console.log(expensiveCar);

          // 事件代理的第一个参数为对象 第二个参数为对象的方法 以下两种方法都可以
          $.proxy(expensiveCar,"show")();//控制台打印 “好牛逼的车”
          $.proxy(expensiveCar.show(),expensiveCar);//控制台打印 “好牛逼的车”
          $.proxy(expensiveCar.show,expensiveCar)();//控制台打印 “好牛逼的车”
     
   // 事件代理的第一个参数为对象 第二个参数为对象的方法  以下两种方法都可以
   // $.proxy(expensiveCar,"show");//控制台打印 “好牛逼的车”
   // $.proxy(expensiveCar.show,expensiveCar);//控制台打印 “好牛逼的车”
       function Car(){
           console.log("我是测试代码")
           this.name="兰博基尼";
             $.proxy(this.show,this)();//控制台打印 “好牛逼的车”
          $.proxy(this,"show")();//控制台打印 “好牛逼的车”
         $.proxy(expensiveCar.show(),expensiveCar);//控制台打印 “好牛逼的车”
       }
       
      Car.prototype.show=function(){
        console.log("好牛逼的车");
        }
       var expensiveCar=new Car();
     
     
      
    es6的时间代理
    定义两个json对象
       var obj={
           a:1,
           b:2
       };
        
       var handler={
           //添加set方法
           set: function(target,key,value){
                    target[key]=value;
                   console.log("我在这里调用了set方法");
           },
           //添加get方法
           get: function(target,key){
               console.log("我在这里调用了get方法");
                  return target[key];
           },
           //添加has 方法
           has:function(target,key){
                console.log("我在这里调用了has方法");
                 return  key in target;
           }
       }
       var p=new Proxy(obj,handler);
       console.log(p);//此时p为代理的一个实例对象
       var m=p.a;//当获取a的属性值时 就会调用get方法
          p.a=20;//当设置a的值时,就会调用set方法
        "a"in p;//当a在p中进行迭代操作时,就会调用set方法

    </script>


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值