通过webworker可在浏览器后台运行JavaScript,而不占用浏览器自身线程,一般JavaScript和页面UI共用一个线程,webworker相当于在后台启动一个线程
- webworker无法访问DOM节点
- 无法访问全局变量或者函数
- 不能调用alert之类的函数,
- 不支持跨域
- 适用于计算量较大的情况
两种webworker:
1. 专用线程:
即只能被创建他的页面使用。监听message事件,通过event.data属性获取某个webworker.js页面(其中postmessage的调用者为DedicatedWorkerGlobalScope)传过来的值,两个页面用postMessage发送消息
2. 共享线程:
为多个页面服务,只有当服务的所有页面都被关闭时才关闭。