1
0
mirror of https://github.com/ruanyf/es6tutorial.git synced 2025-05-24 18:32:22 +00:00

docs(map): edit weakMap

This commit is contained in:
ruanyf 2016-11-26 23:08:38 +08:00
parent ff43701be0
commit c1b6c6fc55

View File

@ -900,13 +900,12 @@ myWeakmap.set(myElement, {timesClicked: 0});
myElement.addEventListener('click', function() { myElement.addEventListener('click', function() {
let logoData = myWeakmap.get(myElement); let logoData = myWeakmap.get(myElement);
logoData.timesClicked++; logoData.timesClicked++;
myWeakmap.set(myElement, logoData);
}, false); }, false);
``` ```
上面代码中,`myElement`是一个DOM节点每当发生click事件就更新一下状态。我们将这个状态作为键值放在WeakMap里对应的键名就是`myElement`。一旦这个DOM节点删除该状态就会自动消失不存在内存泄漏风险。 上面代码中,`myElement`是一个 DOM 节点,每当发生`click`事件,就更新一下状态。我们将这个状态作为键值放在 WeakMap 里,对应的键名就是`myElement`。一旦这个 DOM 节点删除,该状态就会自动消失,不存在内存泄漏风险。
WeakMap的另一个用处是部署私有属性。 WeakMap 的另一个用处是部署私有属性。
```javascript ```javascript
let _counter = new WeakMap(); let _counter = new WeakMap();