v-model 实现的原理vue
angular 是 mvc 的实现原理,ng-model 是靠脏值检测实现的mvc
脏值检测:for 循环一个个对比3d
vue 靠的是数据劫持 和 发布者,订阅者模式对象
数据劫持:Object.defineProperty() 这个方法blog
delete 关键字,主要用于删除get
生成对象方法:it
1. 字面量定义 var a = {} 或 var a = new Object()table
2. 经过 Object.defineProperty() 方法angular
案例:原理
var a = {age:20};
a.name = 'zhang' // 定义对象的属性
a.age = 30 // 修改对象的属性
Object.defineProperty() 给一个对象定义新属性或者修改一个对象的属性;
confinguable 配置选项,值为 true,表明这个属性可删除
enumerable 表明可枚举,值为true,可使用 for in 遍历
value 这个属性的值
writeable 这个属性能够更改
注意:若是有了 get 和 set 方法,就不能有 writable 和 value 属性