41 lines
1.1 KiB
HTML
41 lines
1.1 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
</head>
|
|
|
|
<body>
|
|
<div style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);">
|
|
<button>累加器</button> <span>累加: --</span>
|
|
</div>
|
|
<script>
|
|
const btn = document.querySelector('button');
|
|
const span = document.querySelector('span');
|
|
btn.addEventListener('click', function () {
|
|
data.span.cnt += 1;
|
|
console.log(data.span);
|
|
console.log(data);
|
|
});
|
|
|
|
var data = {};
|
|
data.fff = "asdf";
|
|
data.span = {};
|
|
|
|
data.span = new Proxy(data.span, {
|
|
get: function (target, property, receiver) {
|
|
console.log('get', target, property, receiver);
|
|
return target[property];
|
|
},
|
|
set: function (target, property, value, receiver) {
|
|
console.log('set', target, property, value, receiver);
|
|
target[property] = value;
|
|
span.innerText = `累加: ${target[property]}`;
|
|
return true;
|
|
}
|
|
});
|
|
data.span.cnt = 0;
|
|
</script>
|
|
</body>
|
|
|
|
</html> |