# 没用过的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

# 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)