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

专注高端网站设计网站开发费用计入什么二级科目

专注高端网站设计,网站开发费用计入什么二级科目,淮北论坛招聘驾驶员,反向链接查询定义 Proxy 为开发者提供了拦截并向基本操作嵌入额外行为的能力。具体的说#xff0c;可以给目标对象定义一个关联的代理对象#xff0c;而这个代理对象可以作为抽象的目标对象来使用。在对目标对象的各种操作影响目标对象之前#xff0c;可以在代理对象中对这些操作加以控…定义 Proxy 为开发者提供了拦截并向基本操作嵌入额外行为的能力。具体的说可以给目标对象定义一个关联的代理对象而这个代理对象可以作为抽象的目标对象来使用。在对目标对象的各种操作影响目标对象之前可以在代理对象中对这些操作加以控制。用于修改某些操作的默认行为等同于在语言层面做出修改所以属于中“元编程”即对编程语言进行编译。可以理解成在目标对象前架设一个“拦截”层外界对该对象的访问都必须先通过这层拦截。通过调用new Prosy(),你可以创建一个代理用来替代另一个对象这个代理对目标对象进行了虚拟因此该代理与该目标对象表面上可以被当做同一个对象来对待。 关键词 创建代理对象是一个新对象其他对象只能代理对象 Reflect 将object对象的一些明显属于语言内部的方法比如Object.defineProperty放到Reflect上。现阶段某些方法同时在Object和Reflect上部署未来的新方法只会在Reflect上部署。从Reflect可以拿到语言内部的方法。修改某些方法的返回值让其变得合理Reflect对象的方法与Proxy对象的方法一一对应 方法 Reflect.get(target,name,receiver) 查找并返回target的name属性没有则返回undefined Reflect.set(target,name,value,receiver) 对象属性的设置返回一个布尔值 Reflect.has(target,propKey) propKey in proxy 操作返回一个boolean值 Reflect.deleteProperty(target,name) 等同于delete obj[name]用于删除对象属性 Reflect.construct(target,args) 等同于new target(...args)这提供了一种不使用new来调用构造函数的方法 Reflect.getPrototypeOf(target) 用于读取对象的__proto__属性对应Object.getPrototypeOf(obj) Reflect.setPrototypeOf(target,prototype) 用于设置目标对象的原型prototype,对应Object.setPrototypeOf(obj,newProto)方法返回一个boolean值表示是否设置成功 Reflect.apply(target,thisArg,args) 等同于Function.prototype.apply.call(func,thisArg,args),用于绑定this对象后执行给定函数 Reflect.defineProperty(target,name,desc) 方法基本等同于Object,defineProperty,用来为对象定义属性未来后者会被逐渐替代 Reflect.getOwnPropertyDescriptor(target,name) 基本等同于Object.getOwnPropertyDescriptor用于得到指定属性的描述对象将来会替代掉后者 Reflect.isExtensible 对应Object.isExtensible返回一个布尔值表示当前对象是否可扩展。 Reflect.preventExtensions 对应Object.preventExtensions方法用于让一个对象变为不可扩展。它返回一个布尔值表示是否操作成功。 Reflect.ownKeys 方法用于返回对象的所有属性基本等同于Object.getOwnPropertyNames与Object.getOwnPropertySymbols之和 数组倒序访问 var arr [1, 2, 3, 4] var proxy new Proxy(arr, {get(target, propKey, receiver) {let nPropKey parseInt(propKey as string) //解析字符串返回整数if (nPropKey 0) {if (Math.abs(nPropKey) target.length) { // 返回绝对值return target[target.length nPropKey]} else {return 访问越界}}return Reflect.get(target, propKey, receiver)} }) console.log(proxy[-2]) console.log(proxy[-20])实现观察者模式 const queuedObserverList:SetFunction new Set() const observe (fn:Function) {queuedObserverList.add(fn) } const observable (obj) new Proxy(obj, {set(target, key, value, receiver) {queuedObserverList.forEach((fun) fun())return Reflect.set(target, key, value, receiver)} })const person observable({ name: hello, age: 11 }) function print() {console.log(${person.name}--${person.age}) } observe(print) person.name hikeyof优化 module A {type Person {name: string,age: number,sex: number}const proxy (object: any, key: any) {return new Proxy(object, {get(target, prop, receiver) {console.log(get)return Reflect.get(target, prop, receiver)},set(target, prop, value, receiver) {console.log(set)return Reflect.set(target, prop, value, receiver)}})}// const logAccess (object: Person, key: name | age | sex) {// return proxy(object, key)// }const logAccess T(object: T, key: keyof T) {return proxy(object, key)}let woman: Person logAccess({name: orange,sex: 0,age: 18}, age)woman.age 16console.log(woman) }
http://www.hkea.cn/news/14540789/

相关文章:

  • 工程建设资料员报名网站青海建设银行的官方网站
  • 网站定位授权开启权限怎么做wordpress 插件 速度
  • 便利的网站建设做网站如何找项目
  • 淘宝官方网站登录页面域名注册好了怎么样做网站
  • 网站显示百度众测是怎么做的专业的网站制作公司地址
  • 可以做网站挂在百度上吗做招投标应该了解的网站
  • 北京建站模板公司如何开网站做代销
  • 深圳福田区住房和建设局网站知道ip域名如何进入网站
  • 建设网站注意哪几点网站建站ddp
  • 长春网站建设方案托管湖州网站设计平台
  • 如果盗用网站模板wordpress怎样改头像
  • 网站建设属于哪种职位wordpress显示访客
  • 做的图怎么上传到网站网站建设案例代理商
  • 网站怎样建设做哪些网站比较好
  • 郴州网站建设公司电话wordpress视频列表
  • 盗版小说网站怎么赚钱石家庄官网制作
  • 网站平台建设的流程都有什么公司需要网站建设
  • 做企业展示型网站的好处网站建设教程免费下载
  • cgi--网站开发技术的雏形苏州百度首页优化
  • 校园二手网站的建设方案閪是什么意思
  • 毕业设计网页制作网站建设网站更换图片之类的怎么做
  • 网站建设求职简历模板深圳个人网站建设
  • 新闻热点事件2024最新硬件优化大师下载
  • 文化传媒公司网站模板1核1g可以做几个网站
  • 企业家居网站建设兰州网页
  • 刚做的网站搜全名查不到大型集团网站
  • 做网站推广的公司发展前景开封网站建设培训学校
  • 找合伙人做网站微信公众号创建流程
  • 外贸网站推广优化网站监测怎么做
  • 网站建设管理情况汇报中文网站模板下载免费