<!DOCTYPE html>
<html>
<body>
<h1>JavaScript 对象</h1>
<h2>Object.defineProperty() 方法</h2>
<p>JavaScript 的 Getters 和 Setters 非常适合用于创建计数器:</p>
<p id="demo"></p>
<script>
const obj = {counter: 0};
Object.defineProperty(obj, "reset", {
get: function () { this.counter = 0; }});
Object.defineProperty(obj, "increment", {
get: function () { this.counter++; }});
Object.defineProperty(obj, "decrement", {
get: function () { this.counter--; }});
Object.defineProperty(obj, "add", {
set: function (value) { this.counter += value; } });
Object.defineProperty(obj, "subtract", {
set: function (value) { this.counter -= value; }});
obj.reset;
obj.add = 5;
obj.subtract = 1;
obj.increment;
obj.decrement;
document.getElementById("demo").innerHTML = obj.counter;</script>
</body>
</html>