当前位置: 首页 > news >正文

武夷山网站设计闲鱼网站建设

武夷山网站设计,闲鱼网站建设,汕头有建网站公司吗,网页翻译在线翻译proxy (代理) 和 Reflect (反射) 参数一样。 基本用法 let person { name: xx, age: 20} // proxy 支持对象,数组,函数,set,map // 代理对象的常用模式:前面一个对象&…

proxy (代理) 和 Reflect (反射) 参数一样。

基本用法

let person = { name: 'xx', age: 20}
// proxy 支持对象,数组,函数,set,map
// 代理对象的常用模式:前面一个对象,后面一个对象用于描述前面的对象
person.name // 取值
person.name = 'xxx' // 赋值
let personProxy = new Proxy(person, {// 拦截取值get() {},// 拦截赋值 person name xxxset(target, key, value, receiver) {return true},// 拦截函数调用apply() {},// 拦截 in 操作符has () {},// 拦截 for in ownKeys() {},// 拦截 new 操作符construct() {},// 拦截删除的操作deleteProperty(target, p) {}
})
let person = { name: 'xx', age: 20 }
// 输出 age 的值
// console.log(Reflect.get(person, 'age', person)); 
// 修改 age 的值,返回 true
// console.log(Reflect.set(person, 'age', 23, person));let personProxy = new Proxy(person, {get(target, key, receiver) {if (target.age < 18) {return Reflect.get(target, key, receiver)} else {return "xx 成年了"}}
})
// age:17 输出:17  age:20 输出:xx 成年了
console.log(personProxy.age);

实现观察者模式(简易版)

// 存储回调函数(观察者)的集合
const list: Set<Function> = new Set()
const autorun = (cb: Function) => {if (!list.has(cb)) {list.add(cb)}
}
const observable = <T extends object>(params: T) => {return new Proxy(params, {set(target, key, value, receiver) {const result = Reflect.set(target, key, value, receiver)list.forEach(fn => fn())return result}})
}
// personProxy 对象被创建,开始时 list 为空。
const personProxy = observable({ name: 'xx', attr: "newbee" })
autorun(() => {console.log("有变换了");
})
// 输出两遍 有变化了
// 修改 personProxy.attr 属性,触发 Proxy 的 set 方法,该方法会遍历 list 集合并调用已注册的回调函数,输出 "有变化了"
personProxy.attr = "no-newbee"
personProxy.name = 'xxx'
http://www.yayakq.cn/news/881002/

相关文章:

  • 做网站赚钱还是企业宣传片wordpress进不去仪表盘
  • 怎么把自己的网站上传到百度十大网站建设服务商
  • 成都o2o网站建设wordpress架设教程
  • 搜搜网站收录viralnova wordpress
  • 卖房网站排名建设一个招聘网站大概多少费用
  • 如何在网站上做qq群链接免费招聘人才网
  • 如何新建网站dw东莞外贸网站建站
  • 阜宁做网站价格怎么制作一个游戏app
  • python开发wordpress网站关键词优化到首页后怎么做
  • 网站建设中的板块名称免费域名申请流程
  • 互联国际网站汉化版网站开发软件
  • 东昌府做网站广西网站建设liluokj
  • 当地建设局网站公司注册资金实缴新政策出台2024
  • 网站开发实例视频教程除了百度指数还有哪些指数
  • wordpress网站白屏网站推广广告
  • 烟台市建设工程检测站网站南昌做网站的公司有哪些
  • 做网站开发用笔记本要什么配置网站升级页面连接设置
  • 网站产品图怎么做的电子商务网站设计怎么做
  • 微信网站案例wordpress音乐播放主题
  • 中英文网站建设企业91wordpress
  • 生物网站建设全球设计网网址
  • 自己电脑做网站服务器设置网站建设财务规划
  • 扬州网站建设嵌入式工程师证书怎么考
  • 吴江网站优化it人力外包公司
  • 上海企业模板建站西安在线
  • 接做网站单子的网站lol视频网站模板
  • 东莞网站建设服务有什么用成都装修网
  • 什么叫网站建设四网合一营口电商平台网站建设
  • 汉中网站建设服务招聘网站的SEO怎么做
  • 做网站的具体需求网站建设的主要情况说明书