文章借鉴:
https://blog.csdn.net/weixin_45709829/article/details/115433620
技术蛋老师: https://www.bilibili.com/video/BV1SL4y1i7ZL
文章目录
一、语义标签
二、增强型表单
三、视频音频
四、Canvas绘图
五、SVG画图
六、地理定位
七、拖放API
八、Web Worker
js是单线程执行的,缺点有二:一、现在的CPU大多数是多核,单线程无法发挥出CPU计算的价值。二、页面上js在执行的时候会阻塞浏览器的响应,影响用户体验。
而web worker出现解决了这个问题,他为js创建多线程环境。js在主线程执行,new一个子线程在后台执行。worker完成计算的任务返回给主线程,UI交互流畅,不会被阻塞。主线程中的代码执行会导致浏览器响应阻塞,而子线程代码执行不会。主线程和子线程两者互不干扰,独立执行。
主线程:
- 创建web worker对象(即子线程)
let worker1 = new Worker("worker1.js");
let worker2 = new Worker("worker2.js");
let worker3 = new Worker("worker3.js");
- 添加
onmessage
监听事件
worker1.onmessage = e => {
console.log(e.data);
}
worker2.onmessage = e => {
console.log(e.data);
}
worker3.onmessage = e => {
console.log(e.data);
}
- 终止web worker
work