JSオブジェクトのアクセス属性setter getter関数
724 ワード
アクセス属性には数値が含まれていません. ,setterとgetter関数を含む
属性特性Object.getOwn PropertyDescriptorを読み込みます.
var book={
_year:2004, //
edition:1
};
//IE9+,Firefox4+,Safari5+,Opera12+,Chrome
Object.defineProperty(book,"year",{
get: function(){
return this._year;
},
set:function(newValue){
if(newValue>2004){
this._year=newVlaue);
this.edition +=newVlaue -2004;
}
});
//
book._defineGetter_("year",function(){
return this._year;});
book._defineSetter_("year",function(newValue){
if(newValue>2004){
this._year=newVlaue);
this.edition +=newVlaue -2004;
}
});
book.year=2005;
alert(book.edition); //2
オブジェクトに複数の属性Object.degineProperties(){book,{複数の属性}を定義します.属性特性Object.getOwn PropertyDescriptorを読み込みます.