var person = new Object();
person.name ="ni";
person.head=29;
person.sayName=function(){
alert(this.name);
}
类对象有数据属性含访问器属性
修改数据属性默认特性:使用Object.defineProperty()方法
Object.defineProperty(person,"name",{writable:false,configurable:false;value:"aa"})//第一个参数是属性所在对象,第二个参数是属性,第三个参数是一系列描述
访问器属性:包含一对getter函数和setter函数
Object.defineProperty(book,"year",{
get:function(){
return this._year;
},
set:function()){
if(newValue>2004){
this.year = newValue;
this.edition+= newValue-2004;
}
}
});
读取属性的特性----
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;