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

建设网站价钱办公室装修方案

建设网站价钱,办公室装修方案,如何上传织梦做的网站,电子商务公司在JavaScript中#xff0c;Proxy是一种能够拦截对对象的读取、设置等操作的机制。它们提供了一种方式#xff0c;可以在执行基本操作之前或之后#xff0c;对这些操作进行自定义处理。这种功能在许多高级编程场景中非常有用#xff0c;比如实现数据验证、日志记录、权限控制…在JavaScript中Proxy是一种能够拦截对对象的读取、设置等操作的机制。它们提供了一种方式可以在执行基本操作之前或之后对这些操作进行自定义处理。这种功能在许多高级编程场景中非常有用比如实现数据验证、日志记录、权限控制等。 1、理解Proxy 在JavaScript中对象具有一些基本操作如属性查找、赋值、删除等。当你访问一个对象的属性时JavaScript会直接返回该属性的值。然而如果你使用Proxy来“代理”这个对象那么在执行这些基本操作时你就可以在JavaScript引擎执行基本操作之前或之后插入自定义的处理逻辑。 2、创建Proxy 要创建一个Proxy你需要使用Object.create()方法并传入一个具有get和set方法的对象作为参数。get方法会在读取属性时被调用set方法会在设置属性时被调用。 const target { a: 1, b: 2 }; const handler {get: function(target, prop, receiver) {console.log(Reading ${prop});return Reflect.get(...arguments);},set: function(target, prop, value, receiver) {console.log(Setting ${prop});return Reflect.set(...arguments);} };const proxy new Proxy(target, handler);在上面的代码中我们创建了一个名为target的对象并定义了一个handler对象来处理对target的访问。然后我们使用new Proxy()构造函数创建了一个新的对象proxy该对象会“代理”对target的访问。 同一个拦截器函数可以设置拦截多个操作。 var handler {get: function(target, name) {if (name prototype) {return Object.prototype;}return Hello, name;},apply: function(target, thisBinding, args) {return args[0];},construct: function(target, args) {return {value: args[1]};} };var fproxy new Proxy(function(x, y) {return x y; }, handler);fproxy(1, 2) // 1 new fproxy(1, 2) // {value: 2} fproxy.prototype Object.prototype // true fproxy.foo Hello, foo // true对于可以设置、但没有设置拦截的操作则直接落在目标对象上按照原先的方式产生结果。 下面是 Proxy 支持的拦截操作一览一共 13 种。 get(target, propKey, receiver)拦截对象属性的读取比如proxy.foo和proxy[‘foo’]。set(target, propKey, value, receiver)拦截对象属性的设置比如proxy.foo v或proxy[‘foo’] v返回一个布尔值。has(target, propKey)拦截propKey in proxy的操作返回一个布尔值。deleteProperty(target, propKey)拦截delete proxy[propKey]的操作返回一个布尔值。ownKeys(target)拦截Object.getOwnPropertyNames(proxy)、Object.getOwnPropertySymbols(proxy)、Object.keys(proxy)、for…in循环返回一个数组。该方法返回目标对象所有自身的属性的属性名而Object.keys()的返回结果仅包括目标对象自身的可遍历属性。getOwnPropertyDescriptor(target, propKey)拦截Object.getOwnPropertyDescriptor(proxy, propKey)返回属性的描述对象。defineProperty(target, propKey, propDesc)拦截Object.defineProperty(proxy, propKey, propDesc、Object.defineProperties(proxy, propDescs)返回一个布尔值。preventExtensions(target)拦截Object.preventExtensions(proxy)返回一个布尔值。getPrototypeOf(target)拦截Object.getPrototypeOf(proxy)返回一个对象。isExtensible(target)拦截Object.isExtensible(proxy)返回一个布尔值。setPrototypeOf(target, proto)拦截Object.setPrototypeOf(proxy, proto)返回一个布尔值。如果目标对象是函数那么还有两种额外操作可以拦截。apply(target, object, args)拦截 Proxy 实例作为函数调用的操作比如proxy(…args)、proxy.call(object, …args)、proxy.apply(…)。construct(target, args)拦截 Proxy 实例作为构造函数调用的操作比如new proxy(…args)。
http://www.w-s-a.com/news/955022/

相关文章:

  • 模板的网站都有哪些关键词搜索工具爱站网
  • 鲜花网站建设的利息分析企业网站建设方案书
  • 深圳网站平台石家庄做商城网站的公司
  • 微网站营销是什么私人订制网站有哪些
  • 浙江建设工程合同备案网站新手做网站教程
  • 网站优化关键词排名自己怎么做wordpress安装主题失败
  • 成都建设银行招聘网站网站的切换语言都是怎么做的
  • 网站网业设计wordpress 很差
  • 网站开发软件著作权归谁网站悬浮窗广告
  • 如何提升网站alexa排名货运网站源码
  • 如何看自己网站流量梧州网站设计理念
  • 商城网站建设特点有哪些信息门户
  • 弄一个网站临沂有哪几家做网站的
  • 广州个人网站制作公司网站建设公司价
  • 免费建设网站赚钱小程序开发文档pdf
  • ucenter 整合两个数据库网站网店推广技巧
  • 网站优化排名提升百度wap
  • 八里河风景区网站建设内容摘要网站开发基础学习
  • 上海做外贸网站的公司智慧团建网站登陆平台
  • 上海商务网站建设如何做的网站手机可以用吗
  • 产品推广营销方案seo推广员招聘
  • 做水利网站需要多少钱山东市网站建设
  • 做网站找哪里如何修改wordpress颜色
  • 招商加盟网站系统站长工具 seo查询
  • 工商局网站清算组备案怎么做电商培训机构
  • 做好门户网站建设做本地团购网站怎么样
  • wordpress主题和预览不同20条优化防疫措施方案
  • 艾奇视觉网站建设网站推广需要几个人做
  • 2008 iis 添加网站wordpress固定链接标签加上页面
  • 宁波企业网站制作推荐网站优化人员