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

进入网站服务器怎么做中国行业数据分析网

进入网站服务器怎么做,中国行业数据分析网,苏州制作企业网站公司,新手学网页设计的网站1. 什么是 Reflect Reflect 可以调用对象的基本方法(内部方法),在 ES6 之前我们是没有任何方法去直接调用对象的基本方法的。只能间接调用,间接调用它又会给你做一些额外得事。 2. 对象的基本方法 什么是对象的基本方法呢&…

1. 什么是 Reflect

Reflect 可以调用对象的基本方法(内部方法),在 ES6 之前我们是没有任何方法去直接调用对象的基本方法的。只能间接调用,间接调用它又会给你做一些额外得事。

2. 对象的基本方法

什么是对象的基本方法呢,对象内部运行的方法就是对象的基本方法。对象的基本方法有哪些,它对应的反射方法是什么。如下:

// 基本方法 => 反射方法
[[GetOwnProperty]] => getPrototypeOf();
[[SetPrototypeOf]] => setPrototypeOf();
[[IsExtensible]] => isExtensible();
[[PreventExtensions]] => preventExtensions();
[[GetOwnProperty]] => getOwnPropertyDescriptor();
[[DefineOwnProperty]] => defineProperty();
[[HasProperty]] => has();
[[GET]] => get();
[[SET]] => set();
[[DELETE]] => deleteProperty();
[[OwnPropertyKeys]] => ownKeys()

3. Reflect 有什么用

我们举个例子,下面这两个语句是同样的作用,都是设置 name 的值:

let obj = { name: "yq" };
obj.name = "yqcoder";
console.log(obj); // { name: 'yqcoder' }
let obj = { name: "yq" };
Reflect.set(obj, "name", "yqcoder");
console.log(obj); // { name: 'yqcoder' }

那么既然都是做的同样的是,它们有什么区别呢。区别在于,通过语法或者一些 API 去调用对象的内部方法的话,它会经过一些规则和步骤,在这些规则和步骤当中,有一步是在调用这个内部方法。如果你不希望有这些额外步骤存在,那就需要你直接去调用对象的基本方法了。使用 Reflect。

4. 为什么要用 Reflect

有小伙伴就问了,我为啥要直接调用对象的基本方法,用语法进行对象操作不好吗。肯定是因为 Reflect 可以做一些语法做不到的事,我们才会去使用 Reflect。比如:

let obj = {a: 1,b: 2,get c() {return this.a + this.b;},
};
obj.c; // 3

上面的 obj.c 实际是通过[[GET]](obj, 'c', obj),去得到的值,当我们想通过 obj.c 改变 this 的指向,这时做不到的,用 Reflect 就可以。如下,就改变了 this 的指向。

let obj = {a: 1,b: 2,get c() {return this.a + this.b;},
};
Reflect.get(obj, "c", { a: 3, b: 4 }); // 7

另外,有的时候我们去封装代理对象的时候,也需要用到 Reflect,比如,我们需要得到这么一个代理,访问 proxy.c 时,需要将 a,b 一起打印出来。

let obj = {a: 1,b: 2,get c() {return this.a + this.b;},
};
const proxy = new Proxy(obj, {get(target, key) {console.log(key);return Reflect.get(target, key, proxy);},
});
proxy.c; // c a b

 再比如,我们需要获取到对象得所有属性

let obj = {a: 1,b: 2,
};
Object.defineProperty(obj, "c", {value: 3,enumerable: false,
});
Object.keys(obj); // ['a', 'b']
Reflect.ownKeys(obj); // ['a', 'b', 'c']

http://www.ds6.com.cn/news/76562.html

相关文章:

  • 云服务器怎么做多个网站搜狗推广登录
  • 北京朗晨网站建设百度联盟广告
  • 做网站公司找哪家公司百度一下官方入口
  • 建设网站企业网上银行app推广怎么联系一手代理
  • 怎么看网站空间大小重庆seo哪个强
  • 各种类型网站建设口碑好友情链接批量查询
  • 企业所得税和增值税的区别晋城网站seo
  • c#网站开发案例源码网上营销推广
  • 关于网站制作360推广开户
  • 做返利网站怎麼常州seo
  • 网站什么做的哪些平台可以免费发布产品
  • 锦州北京网站建设sem竞价推广托管
  • 网站设计是怎么做的企业推广公司
  • 企业网络推广网站seo顾问张智伟
  • 网站开发成本主要有哪些seo关键词查询
  • 网站建设餐饮网络营销策划方案书范文
  • 怎么建立网站推广制作网页设计公司
  • 中国网站设计模板市场监督管理局是干什么的
  • 公司网站建设预算重庆关键词优化软件
  • 怎么做网站关键词库排名百度查重免费
  • 平台式网站模板下载百度推广代理商加盟
  • 有没有人一起做网站线上推广方式
  • 温州网站建设有限公司网络游戏推广员的真实经历
  • 外贸综合服务网站建设网站建设的意义和作用
  • 做打折的淘宝小卖家的网站襄阳网站推广优化技巧
  • 网站开发技术可行性关键词查询工具有哪些
  • 太原做网站站长统计在线观看
  • 济南市历下区建设委员会网站青岛关键词推广seo
  • 做fitting网站seo网站推广排名
  • 多大的服务器可以做视频网站bing搜索