web worker 运行的执行流程分析
HTML页面: 判断当前浏览器是否支持Worker
支持:
a. 创建Worker对象(Worker文件)
b. postMessage()方法传递参数
c. onmessage=function(e){} 接收结果
不支持:文本提示本浏览器不支持Worker
Worker文件
importScripts('xx.js');
onmessage = function(e){
a. 接收参数(e.data)
b. 完成对应的业务逻辑
c. portMessage() 传递结果给Worker对象
}
注:Worker 对象内存结构
Woker 对象: onError
onMessage
proto => WorkerPrototype:postMessage()
terminate()
onmessage 、onerror
addEventListener()、 removeEventListener()
WorkerGlobalScope 对象:
a. self :对全局对象自身的引用;
b. 计时器方法:setTimeout() 、clearTimeout() 、setInterval() 、 clearInterval();
c. location属性,描述传递给Worker()构造函数的URL;
d. navigator属性 , 指向一个对象,该对象拥有的属性和Window的Navigator对象拥有的那些属性类似;
e. onerror属性;
f. addEventListener()、 removeEventListener();
g. XMLHttpRequest()
h. close().
set: (2016-09-13 10:46:41)