# 没用过的JSAPi
# MutationObserver
创建并返回一个新的观察器,它会在触发指定 DOM 事件时,调用指定的回调函数。MutationObserver 对 DOM 的观察不会立即启动;而必须先调用 observe() 方法来确定,要监听哪一部分的 DOM 以及要响应哪些更改。
function flushCallbacks(a,b,c) {
/**
* 回调函数拥有两个参数:
* 一个是描述所有被触发改动的 MutationRecord 对象数组
* 一个是调用该函数的MutationObserver 对象
**/
console.log('a :>> ', a); //
console.log('b :>> ', b);
}
const observer = new MutationObserver(flushCallbacks)
const textNode = document.createTextNode('0')
const textNode2 = document.createTextNode('1')
observer.observe(textNode, {
characterData: true
})
observer.observe(textNode2, {
characterData: true
})
let timerFunc = () => {
textNode.data = Math.random() // 触发textNode的内容变化,执行flushCallbacks回调
textNode2.data = Math.random() // 触发textNode2的内容变化,执行flushCallbacks回调
}
timerFunc() //
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# WebWoker
# WebAssembly
WebAssembly MDN (opens new window)
[WebAssembly库]https://www.wasm.com.cn/
系统学习WebAssembly —— 理论篇 (opens new window)
# IndexedDB (opens new window)
# ServiceWorker (opens new window)
Service Worker 实践指南 https://mp.weixin.qq.com/s/JdG-FP04s0gUnN8dWcxFgg
w3c/ServiceWorker (https://github.com/w3c/ServiceWorker/issues/799)