Proxy(代理,拦截器),Reflect(反射)
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(反射)相关推荐
- 动态代理——拦截器——责任链——AOP面向切面编程底层原理详解(迪丽热巴版)
目录 动态代理模式详解 前言 什么是代理模式 如何进行代理 静态代理 动态代理 JDK动态代理 CGLIB动态代理 拦截器 责任链模式 博客文章版权申明 动态代理模式详解 前言 代理模式是设计模式中非 ...
- Castle动态代理拦截器可跟踪模型更改和触发规则
目录 介绍 用户故事3:拦截模型调用 实现--模型 实现--代理工厂 实现--单元测试 实现--规则引擎 总结 从Github下载完整的解决方案 介绍 我想向您展示一个强大的开源库,称为Castle ...
- Castle动态代理拦截器可构建可重启的流
目录 介绍 用户故事4:在另一个AppDomain流中创建可中断且可重新启动的 实现--泛型流 实现--流引擎 实现--单元测试 总结 P.S. 本文演示了使用来自Castle Dynamic Pro ...
- proxychains 一个好用的终端用代理拦截器
为什么80%的码农都做不了架构师?>>> 很多技术网站在国内不能很好的访问,需要借助一些工具. 但是,在终端里面,这些代理不一定起作用. 比如git curl wget就不会理 ...
- 为什么Proxy一定要配合Reflect使用?
本文特别福利,赠送JS新书,深入理解现代JavaScript,规则见文末- 引言 EcmaScript 2015 中引入了 Proxy 代理[1] 与 Reflect 反射[2] 两个新的内置模块. ...
- 11.6 使用拦截器插件扩展代理功能
博客已搬家, 更好阅读体验, 猛戳 http://www.jack-yin.com/coding/translation/activemq-in-action/1727.html 11.6 Exten ...
- SpringMVC中过滤器和拦截器的区别
文章目录 1.引言 2.共同点 3.区别 3.1.拦截器 3.2.过滤器 4.具体实现 4.1.拦截器 4.1.1.拦截实现方式 4.1.2.拦截实现 4.2.过滤器 4.2.1.过滤器实现方式 4. ...
- 粗略的看JFinal的基于AOP的拦截器的实现
2019独角兽企业重金招聘Python工程师标准>>> 简单的说一下AOP的实现,所谓AOP,即(Aspect Oriented Programming)的缩写,体现在程序中就是你可 ...
- SpringBoot 过滤器、拦截器、监听器对比及使用场景!
来源 | blog.csdn.net/qq_38020915/article/details/116431612 作者 | dingwen_blog 一.关系图理解 二.区别 1.过滤器 过滤器是在w ...
- 拦截器Interceptor
拦截器 是 SpringMVC 框架自己的,只有使用了 SpringMVC 框架的工程才能用. 作用:可以构成拦截器栈,完成特定功能.比如日志记录.登录判断.权限检查等作用. 好处:拦截器也可以让你将 ...
最新文章
- 思科生成树命令之debug spanning-tree(本文转载自:www.91ccie.coml
- php循环语句for while do while的用法
- python处理数据的优势-Python与其他语言相比有哪些优势?
- 我在OSC的第一篇博文
- 090620 刚才修复一个fat32分区的经历
- Java面向对象part2
- Variable W already exists, disallowed. Did you mean to set reuse=True or reuse=tf.AUTO_REUSE……
- vba遍历数组_VBA代码解决方案的第59讲内容:如何在代码运行时创建数组
- qrp文件如何用excel打开_问与答66: 如何不打开Excel文件删除行?
- 学习方法之07克服拖延症,每个人都有一个拖延的理由
- 浅析神经网络为什么能够无限逼近任意连续函数
- Leetcode130. 被围绕的区域(深搜)
- Wheel ProgressBar 实现之三——模拟进度过程
- java 模拟百度翻译
- 不允许有匹配 “[xX][mM][lL]“ 的处理指令目标。
- 2021年PMP考试模拟题11(含答案解析)
- vue 表格时间格式化_表格格式
- 使用Laya引擎开发微信小游戏(上)
- 01-前端工程化概述
- IAP(程序内购买): 完全攻略