js-utils-chs
Version:
自定义工具函数库
50 lines (43 loc) • 1.49 kB
HTML
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
function proxy(obj, getFn, setFn, delFn) {
return new Proxy(obj, {
get(target, propKey, receiver) {
getFn && getFn(target, propKey, receiver)
return target[propKey]
},
set(target, propKey, value, receiver) {
setFn && setFn(target, propKey, value, receiver)
target[propKey] = value;
},
deleteProperty(target, propKey) {
delFn && delFn(target, propKey)
return delete target[propKey];
},
})
}
let a = { name: '展示', age: 50 }
let b = [1, 2, 3, 4, 5, 6, 7, 8, 9]
let p = proxy(b, (target, propKey, receiver) => {
console.log(target, propKey, receiver)
}, (target, propKey, value, receiver) => {
console.log(target, propKey, value, receiver)
}, (target, propKey) => {
console.log(target, propKey);
})
p.forEach(data => {
if (data % 2 == 0) {
data = 0;
}
});
</script>
</body>
</html>