Proxy(代理,拦截器),Reflect(反射)

Proxy:

  • 代理:

var duixaing = {"name":"小胖","age":25,"sex":"男"}duixaing.name="老胖";console.log(duixaing.name);//打印:老胖。console.log(duixaing);//打印:Object {name: "老胖", age: 25, sex: "男"}。var obj = {"name":"小胖","age":25,"sex":"男"}
  • 拦截:

var porxObj = new Proxy(obj,{set:function(traget,key,value){if(value == "老胖"){traget[key]=value;}},get:function(traget,key){if(traget[key]==undefined){return "我没有该属性";}else{return traget[key];}}});porxObj.name="老胖";console.log(obj);//打印:Object {name: "老胖", age: 25, sex: "男"}。console.log(porxObj.xh);//打印:我没有该属性。console.log(porxObj.name);//打印:老胖。//set:设置属性;//get:获取属性;
注释:Proxy要传两个值,第一个值是要代理的对象,第二个值是要做哪些操作;

Reflect:

var obj = {name:"老胖",age:21,sex:"男"}//Object.defineProperty(obj,"school",{value:"师徒教育"});
  • 定义属性:

Reflect.defineProperty(obj,"school",{value:"师徒教育"});console.log(obj);//让Object操作变为函数行为://delete obj.name;Reflect.deleteProperty(obj,"name");console.log(obj);console.log(Reflect.has(obj,"age"));//是否有没有这个属性,如果返回true,没有返回false;
  • Reflect对象的方法与Proxy对象的方法一一对应:

var porxObj = new Proxy(obj,{set:function(traget,key,value){if(value == "老胖"){Reflect.set(traget,key,value);}},get:function(traget,key){if(traget[key]==undefined){return "我没有该属性";}else{return Reflect.get(traget,key);}}
});
注释:Reflect一样都是es6提供的用来操作对象API(接口,文档);

Proxy(代理,拦截器),Reflect(反射)相关推荐

  1. 动态代理——拦截器——责任链——AOP面向切面编程底层原理详解(迪丽热巴版)

    目录 动态代理模式详解 前言 什么是代理模式 如何进行代理 静态代理 动态代理 JDK动态代理 CGLIB动态代理 拦截器 责任链模式 博客文章版权申明 动态代理模式详解 前言 代理模式是设计模式中非 ...

  2. Castle动态代理拦截器可跟踪模型更改和触发规则

    目录 介绍 用户故事3:拦截模型调用 实现--模型 实现--代理工厂 实现--单元测试 实现--规则引擎 总结 从Github下载完整的解决方案 介绍 我想向您展示一个强大的开源库,称为Castle ...

  3. Castle动态代理拦截器可构建可重启的流

    目录 介绍 用户故事4:在另一个AppDomain流中创建可中断且可重新启动的 实现--泛型流 实现--流引擎 实现--单元测试 总结 P.S. 本文演示了使用来自Castle Dynamic Pro ...

  4. proxychains 一个好用的终端用代理拦截器

    为什么80%的码农都做不了架构师?>>>    很多技术网站在国内不能很好的访问,需要借助一些工具. 但是,在终端里面,这些代理不一定起作用. 比如git curl wget就不会理 ...

  5. 为什么Proxy一定要配合Reflect使用?

    本文特别福利,赠送JS新书,深入理解现代JavaScript,规则见文末- 引言 EcmaScript 2015 中引入了 Proxy 代理[1] 与 Reflect 反射[2] 两个新的内置模块. ...

  6. 11.6 使用拦截器插件扩展代理功能

    博客已搬家, 更好阅读体验, 猛戳 http://www.jack-yin.com/coding/translation/activemq-in-action/1727.html 11.6 Exten ...

  7. SpringMVC中过滤器和拦截器的区别

    文章目录 1.引言 2.共同点 3.区别 3.1.拦截器 3.2.过滤器 4.具体实现 4.1.拦截器 4.1.1.拦截实现方式 4.1.2.拦截实现 4.2.过滤器 4.2.1.过滤器实现方式 4. ...

  8. 粗略的看JFinal的基于AOP的拦截器的实现

    2019独角兽企业重金招聘Python工程师标准>>> 简单的说一下AOP的实现,所谓AOP,即(Aspect Oriented Programming)的缩写,体现在程序中就是你可 ...

  9. SpringBoot 过滤器、拦截器、监听器对比及使用场景!

    来源 | blog.csdn.net/qq_38020915/article/details/116431612 作者 | dingwen_blog 一.关系图理解 二.区别 1.过滤器 过滤器是在w ...

  10. 拦截器Interceptor

    拦截器 是 SpringMVC 框架自己的,只有使用了 SpringMVC 框架的工程才能用. 作用:可以构成拦截器栈,完成特定功能.比如日志记录.登录判断.权限检查等作用. 好处:拦截器也可以让你将 ...

最新文章

  1. 思科生成树命令之debug spanning-tree(本文转载自:www.91ccie.coml
  2. php循环语句for while do while的用法
  3. python处理数据的优势-Python与其他语言相比有哪些优势?
  4. 我在OSC的第一篇博文
  5. 090620 刚才修复一个fat32分区的经历
  6. Java面向对象part2
  7. Variable W already exists, disallowed. Did you mean to set reuse=True or reuse=tf.AUTO_REUSE……
  8. vba遍历数组_VBA代码解决方案的第59讲内容:如何在代码运行时创建数组
  9. qrp文件如何用excel打开_问与答66: 如何不打开Excel文件删除行?
  10. 学习方法之07克服拖延症,每个人都有一个拖延的理由
  11. 浅析神经网络为什么能够无限逼近任意连续函数
  12. Leetcode130. 被围绕的区域(深搜)
  13. Wheel ProgressBar 实现之三——模拟进度过程
  14. java 模拟百度翻译
  15. 不允许有匹配 “[xX][mM][lL]“ 的处理指令目标。
  16. 2021年PMP考试模拟题11(含答案解析)
  17. vue 表格时间格式化_表格格式
  18. 使用Laya引擎开发微信小游戏(上)
  19. 01-前端工程化概述
  20. IAP(程序内购买): 完全攻略

热门文章

  1. coin collector(一道测试题)
  2. Fedora/RHEL/openSUSE等Linux安装vivaldi——vivaldi浏览器
  3. 转 文件路径相关的字符串操作
  4. [NHibernate]一对多关系(级联删除,级联添加)
  5. 深入理解JavaScript定时器
  6. 表头样式_1分钟学会制作Word两栏、三栏表头
  7. android对象关系映射框架ormlite学习之单表操作
  8. iOS searchbar拼音和汉字搜索全国城市
  9. hive 的drop table命令出错
  10. cursor-spacing 软键盘和input的距离