每天一篇javascript学习小结(属性定义方法)
定义(Definition).定义属性需要使用相应的函数,比如:
Object.defineProperty(obj,"prop",propDesc)
如果obj没有prop这个自身属性,则该函数的作用是给obj添加一个自身属性prop并赋值,
参数propDesc指定了该属性拥有的特性(可写性,可枚举性等).
如果obj已经有了prop这个自身属性,则该函数的作用是修改这个已有属性的特性,当然也包括它的属性值.
1、defineProperty
varbook={
_year:2004,
edition:1
};
Object.defineProperty(book,"year",{
get:function(){
returnthis._year;
},
set:function(newValue){
if(newValue>2004){
this._year=newValue;
this.edition+=newValue-2004;
}
}
});
book.year=2005;
alert(book.edition);//2
2、__defineSetter__和__defineGetter__
varbook={
_year:2004,
edition:1
};
//legacyaccessorsupport
book.__defineGetter__("year",function(){
returnthis._year;
});
book.__defineSetter__("year",function(newValue){
if(newValue>2004){
this._year=newValue;
this.edition+=newValue-2004;
}
});
book.year=2005;
alert(book.edition);//2
以上就是今天的javascript学习小结,之后每天还会继续更新,希望大家继续关注。
热门推荐
1 训练狗狗憋尿
2 狗狗追踪训练
3 狗狗训练要多少钱
5 深圳狗狗训练
6 训练狗狗唤回
7 狗狗叫怎么训练
8 狗狗训练班
10 狗狗社会化训练
11 狗狗叫回训练
12 广州狗狗训练学校
13 狗狗训练躺下
14 狗狗随行训练
15 训练狗狗巡回
16 狗狗要怎么训练
17 狗狗喂食训练
18 训练狗狗躺下