ECMAScript5中getter和setter的使用

//define 
var serialnum = function() {
    var $n = 0;
    return {
        value:'11223',
        get next() {
            return $n++;
        },
        set next(n) {
            if (n >= $n) {
                $n = n;
            } else {
                throw "the number don't less than current  serialnum";
            }
        }
    }
}();

alert(serialnum.next);//out-->0
alert(serialnum.next);//out-->1
alert(serialnum.next);//out-->2
serialnum.next = 6;
alert(serialnum.next);//out-->6
alert(serialnum.$n);  //out-->undefined

var descriptor = Object.getOwnPropertyDescriptor(serialnum,'next');
document.write(JSON.stringify(descriptor));//<span style="font-size:14px;"><span style="font-family:Simsun;">out</span></span>--><span style="font-family:Simsun;font-size:14px;color:#000000;font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; display: inline !important; float: none;">{"enumerable":true,"configurable":true}</span>

descriptor = Object.getOwnPropertyDescriptor(serialnum,'value');
document.write(JSON.stringify(descriptor));//out--><span style="font-family:Simsun;font-size:14px;color:#000000;font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; display: inline !important; float: none;">{"value":"11223","writable":true,"enumerable":true,"configurable":true}</span>


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值