-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.html
96 lines (88 loc) · 2.06 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
<!DOCTYPE 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>
let obj = {
name: 'asd'
}
const map = new WeakMap()
map.set(obj, 'value')
obj = null
</script>
<!-- <script>
const p1 = {
lastName: '2',
firstName: 'koa',
get fullName() {
return this.firstName + this.lastName
}
}
const proxy = new Proxy(p1, {
get(target, key, receiver) {
console.log('getter被触发')
return Reflect.get(target, key, receiver)
}
})
console.log(proxy.fullName)
</script> -->
<!-- <script>
const p1 = {
lastName: '2',
firstName: 'koa',
get fullName() {
return this.firstName + this.lastName
}
}
const p2 = {
lastName: '2',
firstName: 'egg',
get fullName() {
return this.firstName + this.lastName
}
}
</script> -->
<!-- <script>
let quantity = 5
const product = {
price: 10,
quantity: quantity
}
const proxyProduct = new Proxy(product, {
set(target, key, newVal, receiver) {
// console.log('setter', target, key, newVal, receiver)
target[key] = newVal
effect()
return true
},
get(target, key, receiver) {
// console.log('getter', target, key, receiver)
return target[key]
}
})
let total = 0
let effect = () => {
total = proxyProduct.price * proxyProduct.quantity
}
effect()
console.log(`总价格${total}`)
// Object.defineProperty(product, quantity, {
// set(newVal) {
// debugger
// console.log('触发set')
// quantity = newVal
// effect()
// },
// get() {
// console.log('触发get')
// return quantity
// }
// })
</script> -->
</body>
</html>