您的位置:首页 > Web前端 > JavaScript

js属性类型

2013-10-19 00:00 465 查看
js中有两种属性:数据属性和访问属性
1、数据属性
configurable enumberable writeable value
调用Object.defineProperty()方法改变默认属性
实例:

var person ={};
Object.defineProperty(person,"name",{
writable: true,
value: "test"
});
alert(person.name);  //"test"
person.name= "change";
alert(person.name);  //"test"

PS:调用Object.defineProperty()改变一个属性时,如果不指定其余的属性,其默认值都变为为false;

2、访问器属性
configurable enumberable get set
调用Object.defineProperty()方法改变默认属性
实例:

var book = {
oldYear : 2004 ,
edition : 1
};
Object.defineProperty(book, "newYear",{
get: function(){
return this.oldYear;
},
set: function(newValue){
if(newValue > 2004) {
this.oldYear = newValue;
this.edition += newValue - 2004 ;
}
}
});
book.newYear = 2005;
alert(book.edition);  //2
PS:只指定getter将不能写, 只指定setter将不但能读

定义多个属性

var book = {};
Object.defineProperty(book, {
oldYear:{
value:2004
},
edition:{
value:1
},
newYear:{
get: function(){
return this.oldYear;
},
set: function(newValue){
if(newValue > 2004) {
this.oldYear = newValue;
this.edition += newValue - 2004 ;
}
}
}
});
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: