关于js中的get、set方法

1.什么是getter,什么是setter?

  getter 是一种获得属性值的方法,setter是一种设置属性值的方法。getter负责查询值,它不带任何参数,setter则负责设置键值,值是以参数的形式传递,在他的函数体中,一切的return都是无效的。和普通属性不同的是,存储器属性在声明了get或set时,对于读和写是两者不可兼得的,当它只拥有了getter方法,那么它仅仅只读,同样的,当它只有setter方法,那么您读到的永远都是undefined。


2.怎么定义?

  有2种办法:

  • 在对象初始化的时候定义
  • 在对象定义后的时候定义


3.例子:

var test = {
_Name : "Lilei",
_Age : 20,

//_Name的只读

get name() {return this._Name;},
//_Age的读写
set age(age) {this._Age = age;}, 
get age() {return this._Age;}
}

alert(test.name + " " + test.age);//Lilei 20
test.name = 'Lily';
test.age = 18;
alert(test.name + " " + test.age);//Lilei 18 
alert(test._Name + " " + test._Age);//Lilei 18 _Name 只读,只写了_Age属性


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值