//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>
ECMAScript5中getter和setter的使用
最新推荐文章于 2023-12-07 16:52:04 发布