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

有哪些做短租的网站好东莞做网站哪家好

有哪些做短租的网站好,东莞做网站哪家好,家具网站 模板,推荐做网站的话术背景:Reflect 为了操作对象而提供的新Api 和 Proxy对象一样 特点 将object 对象的一些明显属于语言内部的方法,放到Reflect 上处理;修改某些object返回的异常结果,让其变得更合理;让object操作都变成函数行为&#xf…

背景:Reflect 为了操作对象而提供的新ApiProxy对象一样

特点

  1. object 对象的一些明显属于语言内部的方法,放到Reflect 上处理;
  2. 修改某些object返回的异常结果,让其变得更合理;
  3. object操作都变成函数行为;
  4. reflect对象上的方法与proxy对象的方法一一对应,只要是proxy上的方法,就能在Reflect对象上找到对应的方法;
 console.log('assign' in Object) // object使用命令式行为去操作
​console.log(Reflect.has(Object,'assign'))  // Object使用函数的行为去操作

方法

  1. Reflect.get(target,name,receiver)方法 获取target对象上的name的value值

  2. Reflect.set(target,name,value,receiver)方法 设置target对象上的name的value值,并且this修改receiver重新绑定

  3. Reflect.has(obj,name)方法 对象上面是否存在某个属性

  4. Reflect.deleteProperty(obj,name)方法 删除对象上某个属性

上述方法中第一个参数不是对象的话,会报错

1:使用Reflect.get()方法

语法:Reflect.get(target,name,receiver)

接收三个字段

  • target:目标对象

  • name:属性名

  • receiver: this绑定的对象 接收对象

 let myObject = {
​foo: 1,
​bar: 2,
​get baz () {
​
•    return this.foo + this.bar
​}
​}
​console.log(Reflect.get(myObject,'foo')) // 1
​console.log(Reflect.get(myObject,'bar')) // 2
​console.log(Reflect.get(myObject,'baz')) // 3

1.1 使用receiver来指定数据

 let myObject1 = {
​foot: 1,
​bar: 2,
​get boo () {
​
•    return this.foot + this.bar
​}
​}
​
​
​let myReceiver = {
​foot: 2,
​bar: 4,
​}

name 在有get的情况下,则读取函数的this绑定receiver (this指向发生了改变)

 console.log('访问',myObject1.boo) // 3
​console.log('访问2',Reflect.get(myObject1,'boo',myReceiver)) // 6

tips: Reflect.get()的第一个参数必须是一个对象,否则会报错

2:使用Reflect.set()方法

通过Reflect.set方法设置target的name属性等于value

语法:Reflect.set(target,name,value,receiver)

接收四个字段

  • target:目标对象

  • name:属性名

  • value:

  • receiver: this绑定的对象 接收对象
  let myObject2 = {
​foot: 1,
​set bar (value) {
​
•    return this.foot = value
​}
​}console.log('读取原有属性的值:',myObject2.foot) // 1
​Reflect.set(myObject2,'foot', 2)
​console.log('Reflect.set修改原有属性的值:',myObject2.foot)// 2
​Reflect.set(myObject2,'bar', 6)
​console.log('通过Reflect.set修改原有属性的值:',myObject2.foot) // 6

如果name属性设置了赋值函数,则赋值函数的this绑定receiver

  let myObject3 = {
​foo: 3,
​set bar (value) {
​
•    return this.foo = value
​}
​}
​
​
​let receiverMyObject = {
​foo: 0,
​}

通过Reflect.set()修改foo的值

Reflect.set(myObject3,'bar',2,receiverMyObject)
​
console.log('target原有的值',myObject3.foo)  // 3
​
console.log('this指向的receiver发生了变化:',receiverMyObject.foo) // 2

3:使用Reflect.has()方法

通过 Reflect.has()方法查看属性是否存在,返回boolean值

let obj1 = { a: 1 }

旧方法

console.log('a' in obj1) // true 

使用 Reflect.has()方法

语法:Reflect.has(obj,name)

console.log(Reflect.has(obj1,'a')) // true

4:删除属性操作

语法:Reflect.deleteProperty(obj,name)

 let obj2 = { title: '标题信息', name: '名称信息' }console.log('对象原有内容:', obj2) // {title: '标题信息', name: '名称信息'}

旧方法

delete obj2.title
console.log('使用旧方法删除的值:', obj2) // {name: '名称信息'}

使用Reflect.deleteProperty()进行删除

Reflect.deleteProperty(obj2,'name')
console.log('使用Reflect.deleteProperty()方法删除后的:', obj2) // { }

笔记,后续持续更新,敬请期待~

http://www.yidumall.com/news/27273.html

相关文章:

  • 益阳 网站制作维护衡水seo优化
  • 汽车网站建设分析报告手机百度下载免费安装
  • 做网站要用那些软件建站流程主要有哪些
  • 海东网站建设西安seo哪家好
  • 国内优秀网站推荐怎么在百度上发布信息广告
  • 遵义网站建设制作网站优化外包推荐
  • 记事本做网站怎么插图自己怎么做网页
  • 苏州做网站建设公司一句话宣传自己的产品
  • 什么叫app是什么意思seo搜索铺文章
  • 专注专业网站建设搜索引擎优化内容包括哪些方面
  • 网站开发中定义路由的作用网址搜索域名查询
  • 沈阳企业网站开发定制网络推广公司哪里好
  • 安徽网站关键字优化网络市场调研的方法
  • 承德百度网站建设武汉seo百度
  • 邯郸做网站的电话免费seo排名优化
  • 天眼查询个人 在线查询赣州seo外包怎么收费
  • 日照网红排名佛山网站优化服务
  • 达日县公司网站建设企业seo网络营销
  • asp网站开发书籍网络推广 公司 200个网站
  • 优化网站建设哪家专业最新新闻事件今天
  • 做影视网站侵权吗厦门seo管理
  • 网站扒下来了怎么做seo工程师是什么职业
  • 网络建设企业网站站长工具忘忧草
  • 怎么做恶搞人的网站山西seo排名厂家
  • 网络营销效果好的网站如何做网站推广的策略
  • 做网站高手短视频运营公司
  • 建筑工程网招采合肥关键词排名优化
  • 苏州招聘网站制作青岛seo排名收费
  • 怎样才能做自己的网站百度指数下载app
  • 郴州网站建设公司平台网站搜索引擎优化报告