06.Object.defineProperty方法
    
  
      
      
     
    
      
        Vue中重要的数据代理函数 ——Object.defineProperty函数介绍
1. 组成
 | 1
 | Object.defineProperty(object,keyName,{})
 | 
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 
 | <script>let number =21;
 let person={
 name:'张三',
 sex:'男'
 }
 
 Object.defineProperty(person,'ages',{
 // value:18,
 // enumerable:true  默认添加的value是不可以 枚举 的,即不可以用来循环等
 // for(val in person){
 // console.log(val);
 //             }
 // writable:true 控制属性是否可以被修改,默认为FALSE
 // configurable:true 控制属性是否可以被删除,默认为FALSE
 //当有人读取person的ages属性时,get函数(getter)就会被调用,且返回值就是age的值
 get(){
 console.log("有人读取属性了");
 return number
 },
 //当有人修改person的ages属性时,set函数(setter)就会被调用,且会接收到修改的具体指
 set(value){
 console.log(value);
 number=value;//由于get方法中,将number返回当做ages的值,所以这里修改
 }
 })
 </script>
 
 
 | 
2. get方法说明
1.当使用此方法时不能再在配置对象中使用value
2.输出查看以….形式呈现

3.set方法
| 12
 3
 4
 5
 
 | //当有人修改person的ages属性时,set函数(setter)就会被调用,且会接收到修改的具体指set(value){
 console.log(value);
 number=value;//由于get方法中,将number返回当做ages的值,所以这里修改
 }
 
 | 
小结
vue通过两个方法实现数据的沟通