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

镇网站制作价格建设网站要什么资料

镇网站制作价格,建设网站要什么资料,西安做网站优化公司报价,浙江建设职业技术学校网站登录文章目录 一、数据劫持对象的访问器属性 二、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/863042/

相关文章:

  • 网站整体营销方案网站建设百度贴吧
  • 宣传式网站养生网站模板
  • 临猗网站建设天津做网站哪家服务好
  • 郑州做网站九零后用织梦建设网站的步骤
  • 莱芜网站优化加徽信xiala5江都网站制作
  • 网站开发工具书焦作网站开发公司电话
  • 石狮网站建设报价百度爱采购怎么优化排名
  • 广州网站开发系统如何建设百度网站
  • 免费建立一个个人网站网站流量图怎么做
  • 微信网站建设公司首选网站后台更新 前台不显示
  • 撰写网站专题活动策划方案未成年做网站
  • 免费在线响应式网站自助建站网页设计与网站建设试卷
  • 四川省肿瘤医院搜索优化整站优化
  • 新钥匙建站深圳创业补贴政策2023
  • 建网站需要准备什么网站三个月没排名
  • 网站运营规划网站推广的手段
  • cvm可以做网站服务器吗网片围栏
  • 培训前端网站开发网站开发 群
  • 成都武侯区网站建设wordpress菜单分类目录
  • 牡丹江市西安区建设局网站给公司做的东西放到自己网站上
  • 做网站的前景如何郑州seo规则
  • 学校户网站建设方案专业设计服务
  • 电子商务网站建设好么有一个网站怎么做cpc
  • 镇海住房和建设交通局网站跨境电商就是忽悠人的
  • 维修网站怎么做跨境电商发展现状如何
  • 手机网站设计公司皆选亿企邦桐乡市建设局官方网站
  • 企业培训 电子商务网站建设 图片山东省住房和城乡建设厅网站主页
  • 做酒招代理的网站赣icp南昌网站建设
  • 怎样做网站內链大连市建设工程信息网官网
  • 网站软件免费下载安装泰安网站建设收费标准