Proxy对象如何在实际应用中提高代码复用性和安全性?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1779个文字,预计阅读时间需要8分钟。
Proxy 对象到底是什么?Proxy 对象到底代表什么?Proxy 的意思是代理,Proxy 对象的作用是:通过 Proxy 创建一个代理对象,然后通过操作代理对象来允许你对指定对象的某些行为进行自定义。
1、Proxy 对象到底是什么?
Proxy 对象到底是什么呢?Proxy 的意思是 代理,proxy对象的作用是:通过Proxy 创建1个代理对象,然后通过操作代理对象允许你对指定的对象的一些行为进行自定义处理。
Proxy(target,handler); Proxy构造函数接收2个对象,第1个参数就是要处理的对象,第2个参数就是要自定义处理的方法的合集(也就是个对象)。
很抽象?其实就和js中的Object.defineProperty很像(也就是访问器属性,vue2.x的底层就是用它来实现的)。
Object.defineProperty 定义访问器属性,可以对某个属性的读写行为进行控制,在Proxy中也可以做到,而且Proxy更灵活和强大,它能做到很多访问器属性做不到的事情。
比如,监听属性删除事件(delete obj.prop;),in 事件('id' in obj;), apply 调用等。
先来看看,proxy对象有哪些内容。
var targetObj = { id : 1, name : 'pxh', age : 20, school : '小学' } var handler = {}; // 此处,我们先不对targetObj的行为进行干预,所以传个空对象进去即可。
本文共计1779个文字,预计阅读时间需要8分钟。
Proxy 对象到底是什么?Proxy 对象到底代表什么?Proxy 的意思是代理,Proxy 对象的作用是:通过 Proxy 创建一个代理对象,然后通过操作代理对象来允许你对指定对象的某些行为进行自定义。
1、Proxy 对象到底是什么?
Proxy 对象到底是什么呢?Proxy 的意思是 代理,proxy对象的作用是:通过Proxy 创建1个代理对象,然后通过操作代理对象允许你对指定的对象的一些行为进行自定义处理。
Proxy(target,handler); Proxy构造函数接收2个对象,第1个参数就是要处理的对象,第2个参数就是要自定义处理的方法的合集(也就是个对象)。
很抽象?其实就和js中的Object.defineProperty很像(也就是访问器属性,vue2.x的底层就是用它来实现的)。
Object.defineProperty 定义访问器属性,可以对某个属性的读写行为进行控制,在Proxy中也可以做到,而且Proxy更灵活和强大,它能做到很多访问器属性做不到的事情。
比如,监听属性删除事件(delete obj.prop;),in 事件('id' in obj;), apply 调用等。
先来看看,proxy对象有哪些内容。
var targetObj = { id : 1, name : 'pxh', age : 20, school : '小学' } var handler = {}; // 此处,我们先不对targetObj的行为进行干预,所以传个空对象进去即可。

