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

现在自己做网站卖东西行么html登录注册页面

现在自己做网站卖东西行么,html登录注册页面,商城网站 个人备案,免费网站推广平台文章目录 一、数据劫持对象的访问器属性 二、Object.defineProperty()三、Proxy()四、补充1. Object类新增方法2. Array类新增方法 一、数据劫持 数据劫持#xff1a;能够拦截到数据被使用或被修改的时机#xff0c;在这个时机除了可以获取数据的值或对数据的值进行修改之外… 文章目录 一、数据劫持对象的访问器属性 二、Object.defineProperty()三、Proxy()四、补充1. Object类新增方法2. Array类新增方法 一、数据劫持 数据劫持能够拦截到数据被使用或被修改的时机在这个时机除了可以获取数据的值或对数据的值进行修改之外还可以执行其他功能。 当对数据进行修改时除了要修改数据自身之外还希望对所有使用了该数据的位置进行同步修改。 对象的访问器属性 访问器属性由 “getter” 和 “setter” 方法表示。在对象字面量中它们用 get 和 set 表示 let obj {_msg: hello world,get msg() {// 当读取 obj.msg 时getter 起作用return this._msg;},set msg(value) {// 当执行 obj.msg value 操作时setter 起作用this._msg value} };当读取 obj.msg 时getter 起作用当 obj.msg 被赋值时setter 起作用。从外表看访问器属性看起来就像一个普通属性。这就是访问器属性的设计思想。我们不以函数的方式调用我们正常读取它getter 会在幕后运行。如果访问器属性只有一个 getter。在赋值操作 obj.msg xxx将会出现错误Error属性只有一个 getter这样就会有一个“虚拟”的属性它是可读且可写的。我们会利用这种方式进行数据劫持。 二、Object.defineProperty() Object.defineProperty(对象, 属性名, { 配置项 })配置项 value该属性对应的值writable该属性是否可被重写默认是 falseenumerable该属性是否可被枚举默认是 falseget是一个函数, 叫做 getter 获取器可以来决定该属性的值 get 函数的返回值, 就是当前这个属性的值注意: 不能和 value 和 writable 一起使用会报错 set是一个函数叫做 setter 设置器当你需要修改该属性的值的时候会触发该函数 Object.defineProperty(obj, age, {// value: 18,// writable: true,enumerable: true,// 该函数的返回值就是 age 属性的值get () {return 20},set (val) {console.log(你想修改 age 的值, 你想修改为 : , val)} })升级版Object.defineProperties(对象, { 配置项组 }) 配置项组键为属性名值为当前属性的配置项 Object.defineProperties(obj, {属性1: { 配置项 },属性2: { 配置项 } })注意Object.defineProperty和Object.defineProperties无法劫持后来添加的属性 三、Proxy() ES6新增的本地对象语法为new Proxy(原始对象, { 配置项 })用于实现数据代理。 返回值就是代理之后的对象 const obj { name: Jack, age: 18 } // 开始代理 const result new Proxy(obj, {// 配置 get 进行代理设置get (target, property) {// target要代理的目标对象当前案例为 obj// property该对象内的每一个属性自动遍历return target[property];},// 配置 set 进行修改set (target, property, val) {// target要代理的目标对象当前案例为 obj// property该对象内要修改的属性// val要修改的属性的值target[property] valconsole.log(你试图修改 property 属性, 你想修改为 : , val, 我需要根据你修改的内容重新渲染页面)// 注意简单代理需要返回truereturn true;} })四、补充 1. Object类新增方法 Object.create(obj, { 配置项组 }) 创建返回一个新对象这个新对象的__proto__指向obj配置项组键为新对象的属性名值为当前属性的配置项 配置项参考Object.defineProperty()的配置项 Object.is(value1, value2) 判断两个value是否是相同的值返回值为布尔值 Object.assign(obj1, obj2) 将obj2合并到obj1并返回合并之后的obj1 Object.keys(obj) 返回对象所有可被枚举的key以数组的形式呈现 Object.values(obj) 返回对象所有可被枚举key的value以数组的形式呈现 Object.setPrototypeOf(obj, prototype) 修改obj的__proto__指向指定的prototypeprototype为对象或null返回值为修改后的obj Object.getPrototypeOf(obj) 获取并返回obj的原型对象 2. Array类新增方法 Array.from( 参数 ) 根据指定参数创建新数组要求该参数可被迭代。可根据伪数组创建真数组实现伪转真数组的深拷贝 Array.of( 数据, ... ) 根据指定数据创建数组类似Array( 数据, ... )但Array.of( 数据, ... )接收一个数值型数据时不会作为长度 Array.isArray( 数据 ) 判断指定数据是否为数组返回值为布尔值
http://www.w-s-a.com/news/190829/

相关文章:

  • 简单个人网站模板下载网站建设整体情况介绍
  • 网站建设做到哪些内容荆门网站建设电话咨询
  • 玉树网站建设公司双11主机 wordpress 2015
  • dw做网站背景图片设置汕头seo管理
  • 个人又什么办法做企业网站唐山哪里建轻轨和地铁
  • 手机网站404页面室内设计公司排名前100
  • 做民宿需要和多家网站合作吗创建软件的步骤
  • 网站导航栏设计要求辽宁省住房和城乡建设厅
  • 海外网站平台腾讯营销平台
  • 东道网站建设良品铺子网络营销案例
  • 免费企业查询软件优化模型
  • 兰亭集势的网站平台建设凡科网站免费版怎么做
  • 在网站做推广要钱吗网站根目录是哪个文件夹
  • 网站建设如何弄链接海外vps一键配置WordPress
  • 1个ip可以做几个网站吗动画制作可以自学吗
  • 顺德建设局网站如何搭建网站
  • 精品网站建设费用 干净磐石网络网页制作简单作业
  • 网站建设需要用软件群晖怎样做网站
  • 网站建设公司有哪博客网站建设方案书
  • 服装商城的网站建设宿迁论坛
  • 网站建设服务市场趋势淮南市网站开发的方式
  • 交互设计包含网站设计wordpress和discuz共存
  • 淮阳城乡建设局网站在线网页翻译软件
  • 什么是电商视觉设计郑州seo服务
  • google网站设计原则青海网站建设与管理
  • 简述网站的创建流程广西网站建设定制
  • 唐河网站制作汉中建设工程招标新闻中心
  • 网站过期就可以抢注PHP框架和wordpress
  • 天津做网站得公司克隆网站到wordpress修改
  • 郫县网站建设网站建设报价单及项目收费明细表