续:关于JS中代理Proxy的一些知识

 前置笔记:

听说Vue3响应式原理变成了Proxy_董厂长的博客-CSDN博客事情是这样的,最近要code review,本来想把之前那个表单校验任务优化一下。失焦校验真SB,尝试使用ES6的Proxy来做校验。_董厂长的博客-CSDN博客背景:这两天准备优化表单代码,公司规定的是失焦校验。问题描述:表单里有个input框,只能输入数字。使用Ant desgin的表单前缀加了一个“PT”,此时的PT是一个icon。并不是字符串。传入数据库的时候,需要拼接字符串加上“PT”(这个是字符串)。关闭模态窗口表单重新校验了,而且校验的是最新值,如“PT1234” 。项目统一失焦校验,导致https://blog.csdn.net/dongnihao/article/details/124743782?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522166010420916782184658847%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=166010420916782184658847&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~rank_v31_ecpm-1-124743782-null-null.nonecase&utm_term=proxy&spm=1018.2226.3001.4450MDN的描述:

Proxy 对象用于创建一个对象的代理,从而实现基本操作的拦截和自定义(如属性查找、赋值、枚举、函数调用等)。

JS高级程序设计的解释更容易理解一些:

代理是对目标对象的抽象,尝试理解为c++的指针。因为他可以作用于目标对象的替身,但是又完全独立于目标对象。目标对象既可以被直接操作,也可以通过代理对象来操作。但是直接操作会绕过代理施予的行为。 

简单理解:JOJO知道吧,白金之星知道吧。

默认情况下,所有对代理对象的操作,都会被反映到原对象上。

参数:1. 目标对象 2. 处理程序对象(捕获器trap的函数)

简答理解:trap 陷阱函数,改造完再给你放出来。

target

要使用 Proxy 包装的目标对象(可以是任何类型的对象,包括原生数组,函数,甚至另一个代理)。

handler

一个通常以函数作为属性的对象,各属性中的函数分别定义了在执行各种操作时代理 p 的行为。

 说说Reflect:反射机制指的是程序在运行时能够获取自身的信息。例如一个对象能够在运行时知道自己有哪些方法和属性。

使用反射的原因:只有在运行时,才知道具体的参数是什么。看代码

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

董厂长

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值