1.数据属性
数据属性特性
(1)Configurable
(2)Enumerable
(3)Writable
(4)Value
数据属性描述其行为的特性
修改特性必须使用下列方法:
Object.defineProperty(属性所在对象,属性名字,一个描述符对象);
支持这个方法的浏览器有IE9+(IE8只是部分)、FireFox4+、Safari5+、Opera12+、Chrome
2.访问器属性
访问器属性特性
(1)Configurable
(2)Enumerable
(3)Get
(4)Set
例:
var book={
_year:2012,//前面加下划线表示只能通过对象方法访问得属性
edition:1
};
Object.defineProperty(book,"year",{
get:function(){
return this._year;
},
set:function(newValue){
if(newValue>2012){
this._year=newValue;
this.edition+=newValue-2012;
}
}
});
book.year=2013;
alert(book.edition);//2