【js对象属性的getter和setter】

定义存取器属性最简单的方法是使用对象直接量语法的一种扩展写法:
<script type="text/javascript">
  var o = {
    //普遍的数据属性
    data_prop:value,


    //存取器属性都是成对定义的函数
    get accessor_prop(){/*这里是函数体*/},
    set accessor_prop(value){/*这里是函数体*/},
  };
  //存取器属性定义为一个或2个属性同名的函数,这个函数定义没有使用function关键字,而是使用get和set。


  var p = {
    //x和y是普通的可读写的数据属性
    x:1.0,
    y:1.0,


    //r是可读写的存取器属性,它有getter和setter
    get r(){return Math.sqrt(this.x*this.x + this.y*this.y);},
    set r(newvalue){
      var oldvalue = Math.sqrt(this.x*this.x + this.y*this.y);
      var ratio = newvalue/oldvalue;
      this.x *= ratio;
      this.y *= ratio;
    },


    //theta是只读存取器属性,它只有getter方法
    get theta(){return Math.atan2(this.y, this.x)}
  };
</script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值