您的位置:首页 > 其它

面向对象设计-----属性类型 读取属性特性

2017-09-30 11:01 190 查看
var  person = new   Object();

person.name ="ni";

person.head=29;

person.sayName=function(){

alert(this.name);

}

类对象有数据属性含访问器属性

修改数据属性默认特性:使用Object.defineProperty()方法

[b]Object.defineProperty(person,"name",{writable:false,configurable:false;value:"aa"})//第一个参数是属性所在对象,第二个参数是属性,第三个参数是一系列描述
[/b]

[b]访问器属性:包含一对getter函数和setter函数[/b]

[b]Object.defineProperty(book,"year",{[/b]

[b]get:function(){[/b]

[b]   return   this._year;[/b]

[b]},[/b]

[b]set:function()){[/b]

[b]if(newValue>2004){[/b]

[b]  this.year = newValue;[/b]

[b]  this.edition+= newValue-2004;

}
[/b]

[b]}[/b]

[b]});[/b]



读取属性的特性----

var   book={};

Object.defineProperties(book,{

_year:{

     value:2004//等于设置最初始的值

},

edition:{

       value:1

},

year:{

   get:function(){

       return   this._year;

    }.

   set:function(newVlaue){

         if(newValue>2004){

         this._year = newVlaue; 

          this.edition+= newValue-2004;

    }

  }

 }

});

var     descriptor = Object.getOwnPropertyDescriptor(book,"_year");

alert(descriptor.value);//2004

alert(descriptor.confi  gurable);//false;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: