JavaScript 的 proxy

  • 什么是proxy
    • 上代码

什么是proxy

proxy大家可能不陌生,使用vue项目时也用过,也就是我们说的代理。怎样理解代理呢,通俗易懂些,来一段回忆,香港警匪片里的罪犯被逮捕问询时:有什么事请和我的代理律师说,也就是说要想直接了解被代理人的情况只能通过代理获取,代理也就成了原告和被代理者之间的沟通桥梁了。

上代码

  1. 定义一个proxy ,handler提供了set和get函数,其他的函数在这里就不详细介绍了,后面上连接
const prox = new Proxy(target, handler)
// target: 目标对象
// handler: 函数对象
const prox1 = new proxy({myObj}, {set: function (target, prop, value, reciver) {// target: 被代理对象,// prop: 被代理对象属性名,// value:被代理对象属性值,// reciver: proxy对象,通常也是继承了proxy的其他对象 },get: function(target, prop, reciver) {}
})

2、示例

const prox = new Proxy({a:1}, {set: function (target, propname, value, reciver) {if (typeof value === 'number') {target[propname] = value } else {console.log('this must number.')}},get:function(target, propname, reciver) {let _num = target[propname]if (typeof _num === 'number') {return _num*_num} else {console.log('this must number.')}}
})

3、执行效果

  • 赋值是number类型即可赋值成功
  • 赋值不是number类型则赋值失败
  • 赋值成功再获取该值

【javaScript 的 proxy】相关推荐

  1. JavaScript 中Proxy(代理)和Reflect(反射)基础知识

    JavaScript 中Proxy(代理)和Reflect(反射)基础知识   最近在Vue3项目开发中,我们经常使用与Proxy和Reflect相关的函数.这些函数以各种形式出现在Vue3 Reac ...

  2. 快来围观一下JavaScript的Proxy

    的确写Proxy文章很多,那么今天我也不凑字数了,炒两个栗子吧. 一.虚拟属性 const person = {name: 'xiaoyun',province: '江苏省',city: '南京市'} ...

  3. JavaScript 为什么要有 Symbol 类型?

    摘要: 为什么比怎么用更有意义. 原文:JavaScript 为什么要有 Symbol 类型 作者:前端小智 Symbols 是 ES6 引入了一个新的数据类型 ,它为 JS 带来了一些好处,尤其是对 ...

  4. BUUCTF [HITCON 2016] Leaking

    BUUCTF [HITCON 2016] Leaking 考点: node.js中VM2沙箱逃逸 JS通过Buffer 类处理二进制数据的缓冲区 启动环境: "use strict" ...

  5. 深入浅出 Babel 下篇:既生 Plugin 何生 Macros

    接着上篇文章: <深入浅出 Babel 上篇:架构和原理 + 实战 ????> 欢迎转载,让更多人看到我的文章,转载请注明出处 这篇文章干货不少于上篇文章,这篇我们深入讨论一下宏这个玩意  ...

  6. 浅谈NPM,vm,vm2,Node.js沙盒逃逸

    NPM的全称是Node Package Manager,是一个NodeJS包管理和分发工具,已经成为了非官方的发布Node模块(包)的标准. NPM由三部分组成:网站,注册表(registry),命令 ...

  7. NPM酷库:vm2,安全的沙箱环境

    NPM酷库,每天两分钟,了解一个流行NPM库. 今天我们要了解的库是 vm2,则是一个Node.js 官方 vm 库的替代品,主要解决了安全问题. 不安全的vm 在Node.js官方标准库中有一个vm ...

  8. java代码使用.pac脚本自动配置代理服务器策略

    PAC是什么? 一个PAC文件包含一个JavaScript形式的函数"FindProxyForURL(url, host)".这个函数返回一个包含一个或多个访问规则的字符串.用户代 ...

  9. laya开发微信小游戏《奇异水族馆》之 观察者模式应用

    初学laya开发的微信小游戏终于上线啦!!! 过年耗费3个月空闲时间开发出来的小游戏,游戏内容是模仿小时候玩过的一款pc端游戏叫怪怪水族馆~~ 微信搜<奇异水族馆>即可畅玩哦!! 暂时采用 ...

最新文章

  1. RHEL5.5学习--安装vmtools
  2. druid抛出的异常------javax.management.InstanceAlreadyExistsException引发的一系列探索
  3. cygwin 在 windows 下的安装
  4. 图片上两点之间的距离和两组图片之间的差异的关系
  5. Vista命令行大全
  6. ORACLE的基本语法集锦
  7. Wordpress简约昼夜切换主页导航
  8. java 多线程学习
  9. 百度贴吧 “只看某人” 小工具
  10. 以太坊 solidity 教程
  11. 查询linux安装了哪种中文,linux 安装 中文字体
  12. 网件rax40可以刷梅林_深度爆料网件RAX40评价如何?怎么样呢?真实体验曝光
  13. Python+networkx 网络可视化方法
  14. Linux中不同文字颜色代表的含义
  15. 当逛书店成为一种怀旧
  16. Oracle默认排序规则是什么?
  17. 西安交通大学计算机张飞导师,航海学院邀请西安交通大学段战胜教授来院作学术报告...
  18. UNREAL ENGINE 4.12 正式发布!下载地址
  19. Retrofit 2.0 超能实践(一),okHttp完美支持Https传输
  20. 导出微信聊天记录,使用python进行分词,生成词云

热门文章

  1. 关于1Byte 1K 1M 1G(换算)
  2. 小米前端实习电话面试一面
  3. Docker学习——DockerFile
  4. 【超详细】磁力计数据读取--以IST8310为例
  5. 期货开户手续费的秘密成了透明
  6. FME转换器 文本替换(StringReplacer)
  7. vue源码用了哪些设计模式,vue实际开发遇到的难点
  8. Initramfs unpacking failed:junk in compressed archive
  9. 书蕴——基于书评的人工智能推荐系统
  10. 【IPC通信】key_t键和ftok函数