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

天猫网站运营鱼巴适设计师服务平台

天猫网站运营,鱼巴适设计师服务平台,做个企业网站要多少钱,阿里云网站建设的功能Object.defineProperty()是一个监听对象属性变化的方法。一般情况下我们是不会直接使用的#xff0c;或者说我们遇到的场景还没有这么高级。 最有名的例子就是Vue2的响应式实现#xff0c;就是通过这个方法来实现的。 用起来不难#xff0c;就是个API#xff0c;只是用的…Object.defineProperty()是一个监听对象属性变化的方法。一般情况下我们是不会直接使用的或者说我们遇到的场景还没有这么高级。 最有名的例子就是Vue2的响应式实现就是通过这个方法来实现的。 用起来不难就是个API只是用的比较少或者实现的功能都看起来很吊的样子所以显得很高级。其实也就那样。 定义 Object.defineProperty() 静态方法会直接在一个对象上定义一个新属性或修改其现有属性并返回此对象。 定义新属性 运行下面的代码可以观察输出。 const obj1{} Object.defineProperty(obj1,property1,{value:1 }) console.log(obj1)//输出{} console.log(obj1.property1)//输出1obj1.property1输出1这是符合我们的预期的。但obj1却输出{}我们期待的应该是{property1:1}。这就非常的奇怪了。明明obj1.property1可以输出property1的值但输出obj1对象的时候却是空对象。 这就是Object.defineProperty()高级的一个地方。实际上我们可以通过enumerable这个选项来控制属性是否对用户可见。 const obj1{} Object.defineProperty(obj1,property1,{value:1,enumerable:true }) console.log(obj1)//输出{property1:1} console.log(obj1.property1)//输出1修改后obj1的输出值就是{property1:1}。实际上我们利用defineProperty控制了属性的可见性。一般都会让用户可见。 数据描述符和访问器描述符 数据描述符指的是value和writable属性。访问器描述符指的get和set函数。两者是互斥的。 数据描述符 value的值就是属性的值。是可以读写的通过writable来控制的。 const obj1{} Object.defineProperty(obj1,property1,{value:1,writable:true, }) obj1.property110 console.log(obj1.property1)//writable为false的时候输出1writable为true的时候输出10writable为false的时候obj1.property110并不会成功赋值。obj1.property1的值还是输出1并不会报错。writable为true的时候输出10赋值成功。 访问器描述符 访问描述符是另一套读写数据的方式。不能够在get和set方法里面调用value,因为数据描述符和访问器描述符是互斥的。 const obj1 {} let property1Value 1//必须自己定义一个变量来设置属性值 Object.defineProperty(obj1, property1, {enumerable: true,get() {console.log(get:)return property1Value},set(newValue) {property1Value newValue} }) property1Value 10 console.log(obj1)//输出{ property1: [Getter/Setter] } console.log(obj1.property1)//输出10在enumerable: true的情况下obj1输出{ property1: [Getter/Setter] }就是长这样。enumerable: false的情况下,输出{}。 数据描述符和访问器描述符的主要区别 两者都是可以获取和修改属性值的。主要区别就是能不能监听到值的获取或者改变也就是被Vue等控件玩出花的所谓响应式。 1.不需要监听值的改变用数据描述符就行了自带value值没什么操作性。 2.需要监听值的改变就要用访问器描述符了。需要自己定义属性值的变量。读取的逻辑都需要自己实现更灵活也更加强大复杂。
http://www.w-s-a.com/news/146971/

相关文章:

  • 深圳 做网站 车公庙免费的招标网有哪些
  • 网站在那里备案成都成华区网站建设
  • 做网站选哪家好搜索引擎优化的目标体系包括哪些
  • 做数据可视化的网站ppt2016是制作网页的软件
  • 济宁市建设工程质量监督站网站徐州网站优化推广
  • 北京网站设计多少钱php做商品网站
  • 能打开的网站你了解的彩票网站开发dadi163
  • 手机做网站价格优秀企业网站建设价格
  • 电商网站建设企业做网站的客户多吗
  • 有做思维图的网站吗西安建设市场诚信信息平台网站
  • 网站建设求职具备什么30岁学网站开发
  • 官方网站minecraft北京低价做网站
  • 网站建设报价兴田德润机械加工网络接单
  • 免费的推广网站安卓app制作平台
  • 长春火车站附近美食建设信用卡银行积分兑换商城网站
  • 网站提交网址如何备份wordpress网页
  • 龙腾盛世网站建设医院管理系统
  • 网站切换图片做背景怎么写外贸营销邮件主题一般怎么写
  • 基于html5的网站开发wordpress主题工具
  • php网站开发的成功经历公司网站现状
  • 软件发布网站源码中国企业公示信息网
  • flash 的网站网站型销售怎么做
  • 营销型网站单页网站的域名和密码
  • 建网站保定seo自动发布外链工具
  • 做公众号关注网站做课件用这15大网站
  • 怎么制作公司自己网站店铺设计软件手机版
  • 深圳网站关键词优化公司哪家好怎么选择锦州网站建设
  • 标准网站优势项目合作网站
  • 无人机东莞网站建设wordpress站群管理破解版
  • 深圳企业官网网站建设教育培训学校