zoukankan      html  css  js  c++  java
  • Object.defineProperty() 双向数据绑定原理

    1.基本语法
    Object.defineProperty(参数1,参数2,参数3)   参数1:目标对象   参数2:要修改或者添加的属性名称   参数3:目标对象属性的一些特征 (是一个对象)              参数1:         value:属性值       参数2:         writable:对象属性值是否可以被修改 true允许 false不允许       参数3:         configurable:对象属性是否可以被删除 true允许 false不允许       参数4:         enumerable:对象属性是否可被枚举       参数5:         get():给一个属性提供getter方法,当访问这个对象的属性值得时候触发该方法       参数6:         set():给一个属性提供setter方法,当设置属性值得时候触发该方法

    2.如何在执行console.log(Booke.name)时添加书名号? (
    set get方法  

      var Book = {}
      var name = '';
      Object.defineProperty(Book, 'name', {
      set: function (value) {
      name = value;
      console.log('你取了一个书名叫做' + value);
      },
      get: function () {
      return '《' + name + '》'
      }
      })

      Book.name = 'vue权威指南'; // 你取了一个书名叫做vue权威指南
      console.log(Book.name); // 《vue权威指南》

     //通过Object.defineProperty( )设置了对象Book的name属性,对其get和set进行重写操作,顾名思义,get就是在读取name属性这个值触发的函数,set就是在设置name属性这个值触发的函数   
  • 相关阅读:
    python—内置函数-filter,map,reduce
    python—模块-练习
    python—模块-re正则表达式
    python—模块-logging
    python—模块-subprocess
    python—模块-hashlib加密
    python—模块-configparser
    SpringBoot结合设计模式(观察者模式、策略模式)- 个人记录
    Spring事务-随笔
    Servlet、Tomcat、SpringMVC-整理-随笔
  • 原文地址:https://www.cnblogs.com/wildccy/p/10555315.html
Copyright © 2011-2022 走看看