Object.defineProperty是ES5中的方法,它可以直接在一个对象上定义一个新属性,或者修改一个对象的现有属性并返回这个对象
其自带get()和set()两个访问器,可在对象属性取值赋值的时候自定义方法。
1.赋值取值时自定义方法
问:p1的name改变了,a1的name也要跟着改变,怎么实现
function Person() {}
function Animal() {}
var p1 = new Person();
var a1 = new Animal();
p1.name = 'aaaa';
解:a1的name属性希望在每次取值的时候取到p1的name属性当前值。
2.双向绑定时监听到属性值的变化
实现双向绑定需要考虑很多因素,其中最基础的,是监听到对象的每次变化。