1.常見形式
var obj = {
a:5,//數(shù)據(jù)屬性
get b(){return this.a+1},//存取器(寄存器)屬性
set b(value){this.a=value}
}
2. 屬性特性
數(shù)據(jù)屬性有4個特性:value,writable,enumerable,configurable
存取器有4個特性:get,set,enumerable,configurable(前兩個為函數(shù)撩银,且set接收一個參數(shù))
3.常用方法
Object.getOwnPropertyDescriptor(obj,'a') 獲取對象某個屬性的描述符
Object.defineProperty(obj,'b',{...4個特性...}) 定義某個對象的具有特性的屬性
Object.defineProperties(obj,{'b':{...4個特性...},'c':{...4個特性...}}) 定義某個對象的具有特性的屬性
4.注意事項
1.writable設置為false并且configurable為true時仍可以用Object.defineProperty來更改value
2.configurable設置為false,仍可將writable和enumerable從true改成false肛捍,反之則不可