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

JavaScript权威指南6-属性的特性(1)

2016-04-04 00:00 281 查看
首先,对性属性值可以用一个或两个方法替代,这两个方法就是getter和seetter.由getter和setter定义的属性称作"存取器属性",它不同于"数据属性",数据属性只有一个简单的值.有如下代码:

var o = {
$num : 0,
set a(n){
this.$num = n + 1;
},
get a(){
return this.$num + 1;
}
}
o.a = 10;//调用setter后值为11
console.log(o.a);//调用getter后返回的值为12

注意:和数据属性不同,存储器属性不具有可写性.三种情况:

1.有setter和getter 可读可写

2.只有setter 可写不可读

3.只有getter 可读不可写

考虑下面代码:

var o = {
$num : 0,
set a(n){
this.$num = n + 1;
}
}
o.a = 10;//调用setter后值为11
console.log(o.a);//没有getter,所以返回的是undefined

var o = {
$num : 0,
get a(){
return this.$num + 1;
}
}
o.a = 10;//赋值失败,没有setter
console.log(o.a);//调用getter后返回的值为1
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息