虽然说 Web Worker 的上下文和 window 是不一样的,可是除了不能在 Worker (子线程)中操做 DOM 元素和 使用 window 对象的某些方法和属性以外,其实能够在 Worker 中运行任何 JavaScript 代码。html
你能够在这里查看对应两种不一样上下文有哪些属性和方法。本篇暂完。函数
该做用域是后续专项 Worker 做用域实现的接口,意思就是这个做用域里有的属性和方法后续的两个做用域也一样拥有。post
这里列举经常使用属性,以及属性做用。 navigator
和 location
:这两个属性和 window 下对应的对象的子集。固然还有咱们必定会用到的 console
属性,此类方法都只是可读属性。fetch
close
方法关闭当前 Worker。 importScript
能够在 Worker 的做用域中引用其余的脚本。 固然还存在从别处实现的方法,经常使用的有:setInterval
clearInterval
setTimeout
clearTimeout
fetch
。线程
含有 WorkGlobalScope 全部属性以外,自身多了一个 name 属性来标记当前的 Worker,其做用是方便用户在 debugger 期间查找方便。debug
经常使用是的 onmessage
处理函数,其做用是监听主线程的 message
事件,当主线程发起一个 message
事件,对象子线程能够接收到对应的信息。code
postMessage
方法做用就是主线程和子线程之间发送信息的函数。htm
自身多了一个 name 属性来标记当前的 Worker,其做用是方便用户在 debugger 期间查找方便。对象
经常使用是的 onconnect
处理函数,其做用是监听主线程的 connect
事件,当主线程中的 MessagePort 对象发起链接的时候,sharedWorker就和主线程创建联系了。接口
以上就是对应 Web Worker 对应经常使用语法的简单介绍了,可是其中依旧存在问题,为何 sharedWorker 中必定要让其 port 对象去发起通讯呢?以及 MessagePort 对象是什么状况才会出现的机制哩