Vue雙向數據綁定原理
1.屬性訪問器
ECMAScript中的屬性分為兩種:數據屬性和訪問器屬性
1 數據屬性
數據屬性有4個描述其行為的特性
[[Configurable]]可配置性
[[Enumerable]]可枚舉性
[[Writable]]可寫性
[[Value]]值2 訪問器屬性
訪問器屬性有4個描述其行為的特性
[[Configurable]]可配置性
[[Enumerable]]可枚舉性
[[Get]]讀取屬性
[[Set]]設置屬性
訪問器屬性不能直接設置,必須使用Object.defineProperty()方法。3 Object.defineProperty定義或修改屬性特性
定義對象時添加的數據屬性,其特性默認為true,要修改屬性的默認特性,必須使用ECMAScript5中的Object.defineProperty()方法,此方法接受3個參數:屬性所在的對象,屬性的名字,一個描述符對象。
調用Object.defineProperty()方法時,如果不指定,configurable,enumerable,writeable都為false。4定義多個屬性Object.defineProperties()
利用這個方法,可以通過描述符一次定義多個屬性,接受兩個參數。5讀取屬性特性Object.getOwnPropertyDescriptor()
MVVM框架vue實現數據綁定的方式就是屬性訪問器