首页 > 试题广场 >

什么是 Web Worker ?

[单选题]

什么是 Web Worker

  • 运行在后台的JavaScript程序,会影响页面的性能。
  • 运行在后台的JavaScript程序,不会影响页面的性能。
  • 都不正确
  • 运行在后台的CSS程序,不会影响页面的性能。
推荐
当在 HTML 页面中执行脚本时,页面的状态是不可响应的,直到脚本已完成。 web worker 是运行在后台的 JavaScript,独立于其他脚本,不会影响页面的性能。您可以继续做任何愿意做的事情:点击、选取内容等等,而此时 web worker 在后台运行。 w3c上有说的
编辑于 2017-03-19 09:19:57 回复(3)
web Worker 本质是一个线程,在UI主线程之外并发执行的线程,主要解决耗时的JS任务

首先了解浏览器的线程模型是怎样的?
程序:计算机可以执行的代码,存在磁盘中 --- 这是静止的(比如这是买的一块地皮);
进程:把 程序 调入到内存中,等待被CPU执行 --- 这是活动的(这是在地皮上建起来的几个工厂);
线程:是CPU执行 进程 代码的基本单位 --- 相当于生产任务(这是在工厂中进行生产的生产线);
而 进程 与 线程 的关系是:进程是操作系统分配内存的基本单位,线程处于进程内部,是CPU执行代码的基本单位,一个进程中至少有一个线程,也可以有多个(就比如在一个工程内,可以有一条生产线,也可以有多条生产线),多个线程间并发执行,从宏观上看是‘同时’执行,微观上看是‘轮流’执行。

拿chrome中的线程模型举例
1.chrome 中发起HTTP请求最多可以使用6个并发线程;
2.而负责向页面中执行绘制任务(HTML/CSS/JS/事件处理代码)的只有1个线程 --- UI主线程,如果碰到耗时的代码就有问题了,解决的办法:创建一个新的线程,去执行耗时的JS任务 -- 与UI主线程并发执行

Worker 线程的缺点:浏览器禁止Worker线程操作任何BOM 和 DOM对象,不能使用Worder加载类似jQuery.js文件。

发表于 2018-03-14 21:55:55 回复(0)

WebWorker:

通过使用Web Worker,可以让我们在浏览器后台运行javascript,而不占用浏览器自身进程。

Web Worker是运行在后台的JavaScript,不会影响页面的性能。

当在HTML页面中执行脚本时,页面的状态是不可响应的,直到脚本完成为止。

web worker是运行在后台的js,独立于其他脚本,不会影响页面的性能,可以继续做其他事情:点击、选取内容等,而此时 web worker 在后台运行。

发表于 2017-03-06 10:00:18 回复(1)
B web work在后台运行的进程,比如对一个计算题,它会在后台进行计算,再给页面赋值,而这段时间,页面可以做其他事情,不影响
编辑于 2017-01-02 14:10:42 回复(0)
这题要考什么?js难道不会影响页面性能?别逗我!快来个前端大牛哈 O(∩_∩)O~
发表于 2016-12-24 14:46:26 回复(3)
Web Worker 的作用,就是为 JavaScript 创造多线程环境,允许主线程创建 Worker 线程,将一些任务分配给后者运行。在主线程运行的同时,Worker 线程在后台运行,两者互不干扰。
发表于 2018-11-21 11:12:19 回复(0)
web worker 是运行在后台的 JavaScript,独立于其他脚本,不会影响页面的性能。您可以继续做任何愿意做的事情:点击、选取内容等等,而此时 web worker 在后台运行。
发表于 2019-10-17 22:30:04 回复(0)
当在 HTML 页面中执行脚本时,页面的状态是不可响应的,直到脚本已完成。 web worker 是运行在后台的 JavaScript,独立于其他脚本,不会影响页面的性能。您可以继续做任何愿意做的事情:点击、选取内容等等,而此时 web worker 在后台运行。 w3c上有说的
发表于 2019-05-13 15:14:06 回复(0)
Web Worker是运行在后台的JavaScript线程,不会影响页面的性能。
Web Worker允许JavaScript创建多线程,但是这些线程是受控于主线程的子线程。
Web Worker有如下一些使用限制:
    Web Worker无法访问DOM节点;
    Web Worker无法访问全局变量和全局函数;
    Web Worker无法调用alert()、confirm等一些函数;
    Web Worker无法访问window、document之类的浏览器全局变量

以上参考链接:

发表于 2018-12-02 11:16:15 回复(0)
web Worker 简单的说就是在javascript单线程执行的基础上,开启一个子线程,进行程序的处理,而不影响主线程的执行,当子线程执行完毕之后再回到主线程上,在这个过程中并不影响主线程的 执行过程。
发表于 2018-10-17 17:38:42 回复(0)
大计算量的脚本,为了防止页面长时间无响应,假死,放在后台用web worker
发表于 2018-08-04 22:11:34 回复(0)
b
发表于 2018-08-04 19:11:34 回复(0)
当在html页面中执行脚本时,页面的状态时不可响应的,直到脚本已完成。
web worker是运行在后台的javascript,独立于其他脚本,不会影响页面性能。您可以继续做任何愿意做的事:点击、选取内容等,而此时web worker在后台运行。
-------from w3school
发表于 2018-06-20 09:22:22 回复(0)
当在 HTML 页面中执行脚本时,页面的状态是不可响应的,直到脚本已完成。 web worker 是运行在后台的 JavaScript,独立于其他脚本,不会影响页面的性能。您可以继续做任何愿意做的事情:点击、选取内容等等,而此时 web worker 在后台运行。 w3c上有说的web work在后台运行的进程,比如对一个计算题,它会在后台进行计算,再给页面赋值,而这段时间,页面可以做其他事情,不影响
发表于 2018-04-29 12:27:29 回复(0)
webworker不包括ajax么?向服务器请求数据是需要时间的吧?不影响性能么?
发表于 2018-01-16 19:15:04 回复(0)
在html页面中执行脚本时,页面的状态时不可响应的,直到脚本已完成。web worker 是运行在后台的Javascript,独立于其他脚本,不会影响页面的性能。类似于计算机,在后台执行运算,在运算期间,可以做其他事情,后台有了结果会返回,不影响使用
发表于 2017-11-27 10:21:51 回复(0)
发表于 2017-11-14 19:30:46 回复(0)

当在 HTML 页面中执行脚本时,页面的状态是不可响应的,直到脚本已完成。

web worker 是运行在后台的 JavaScript,独立于其他脚本,不会影响页面的性能。您可以继续做任何愿意做的事情:点击、选取内容等等,而此时 web worker 在后台运行。

发表于 2017-09-27 11:24:12 回复(0)

什么是 Web Worker?

当在 HTML 页面中执行脚本时,页面的状态是不可响应的,直到脚本已完成。

web worker 是运行在后台的 JavaScript,独立于其他脚本,不会影响页面的性能。您可以继续做任何愿意做的事情:点击、选取内容等等,而此时 web worker 在后台运行。

浏览器支持

所有主流浏览器均支持 web worker,除了 Internet Explorer。

发表于 2017-09-25 09:19:51 回复(0)
不会
发表于 2017-08-28 12:46:40 回复(0)