getter和setter

本文介绍了JavaScript中对象属性的概念,特别是存取器属性的定义和使用方式。通过实例展示了如何利用getter和setter来实现对属性值的计算和验证。
 1 /*
 2 对象属性是由名字、值和自足特性构成的。
 3 属性值可以用一个或两个方法替代,这两个方法就是getter和setter.
 4 由getter和setter定义的属性称作“存取器属性”
 5 */
 6 /*
 7 定义存取器属性最简单的方法是使用对象直接量语法的一种扩展写法
 8 */
 9 var o ={
10     //普通的数据属性
11     data_prop:value,
12 
13     //存取器属性都是成对定义的函数
14     get accessor_prop(){/*这里是函数体 */}
15     get accessor_prop(value){/*这里是函数体 */}
16 };
17 
18 var p = {
19     //x和y是普通的可读写的数据属性
20     x:1.0,
21     y:1.0,
22     //r是可读写的存取器属性,它有getter和setter.
23     //函数体结束后不要忘记带上逗号
24     get r() {return Math.sqrt(this.x*this.x + this.y*this.y);},
25     set r(newvalue){
26         var oldvalue = Math.sqrt(this.x*this.x + this.y*this.y);
27         var ratio = newvalue/oldvalue;
28         this.x *= ratio;
29         this.y *= ratio;
30     },
31     //theta是只读存取器属性,它只有getter方法
32     get theta(){return Math.atan2(this.y,this.x);}
33 };

 

转载于:https://www.cnblogs.com/yun1108/p/8737613.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值