WorkerGlobalScope是一个供Worker使用的全局对象 , 因此该对象上的postMessage方法和onmessage属性在worker代码中使用的时候 , 看起来像是全局函数和全局变量 。 因为WorkerGlobalScope是Worker的全局对象 , 所以它有所有核心JavaScript全局对象拥有的那些属性 , 诸如JSON对象、isNaN()函数和Date()构造函数 , 最小化的navigator 对象 , 包括onLine 、appName 、appVersion 、userAgent 和platform 属性; 只读的location 对象; setTimeout() 、setInterval() 、clearTimeout() 和clearInterval() 方法;XMLHttpRequest 构造函数 。
WorkerGlobalScope对象上定义了一个很有意思的全局函数 , importScripts , Worker可以使用此方法来加载任何需要的库代码 。
实例:
test2.js文件
var num = 88888;
test.js文件
importScripts(“test2.js”);
console.log(num);//88888
在test.js文件通过importScripts引入test2.js文件 , 即可访问到test2脚本里面的变量 。
注意:importScripts是一个同步的方法 , 他直到所有的脚本都已经载入并运行完成才会返回 。
目前支持web workers的浏览器有IE10+、Firefox3.5+、Safari4+、Opera 10.6+、chrome和ISO版的Safari 。
小结
Web workers:可以运行异步JavaScript代码 , 避免阻塞用户界面 , 在执行复杂计算和数据处理的时候 , 这个API非常有用 , 不然 , 这些任务轻则会占用很长时间 , 重则会导致用户无法与页面交互 。
【红杉资本|广州蓝景技术分享—开发语言JavaScript之多线程】想要了解更多前端技术学习 , 可以关注我们广州蓝景 , 也可以评论区留言!
- 东芝|不到1500亿元 美国资本要私有化日本百年老店东芝
- 罗永浩|罗永浩退出“交个朋友” 资本机构随即退场
- 饿了么|广州蓝景技术分享 — 闭包原理以及使用场景
- 喜马拉雅|广州蓝景分享 — 前端技术之CSS隐藏元素
- 36氪|36氪首发丨获线性资本数千万元天使轮融资,「奇异火科技」想要做元宇宙基础设施
- 电子商务|行业泡沫褪去,资本严冬来袭:35岁的互联网中年人,何去何从
- 中国移动|为什么中国移动频频启动资本收购?因为靠自研无法解决所有问题!
- 腾讯|行业泡沫褪去,资本严冬来袭:35岁的互联网中年人,何去何从
- 销售额|最新报告:云公司资本开支直接影响光模块市场前景
- 运营商|啥时候放号?广州也能搜到第四运营商信号:联通移动电信对手来了