Web Worker

一、Web Worker

1. Web Worker是 运行在后台的javascript,也就是说worker其实就是就一个js文件对象,worker可以让他所包含的js代码运行在后台
2. 特点:
 1)充分利用多核CPU的优势
 2)对多线程支持非常好
 3)不会影响页面的性能
 4)不能访问web页面和DOM API
 5)所有的主流浏览器均支持web worker,除了Internet Explorer
3. Worker提供API
  1)检测当前浏览器是否支持Worker
    
    typeof(Worker) !== "undefined",如果浏览器返回true,则证明,浏览器支持Worker

  2)创建Worker文件

     创建普通的 JS 文件,都可以用于 Web Worker 文件

  3)创建Web Worker对象

      var worker = new Worker("myTime.js");

      参数就是在第二步创建的js文件的路径

  4)worker事件

    # onmessage事件

       用于监听 Web Worker 传递消息,通过回调函数接收传递的消息,通过回调函数的事件对象data 属性可以获取传递的消息

    #postMessage()

       w.postMessage( “worker success.” );

       通过postMessage() 方法传递消息内容

    #w.terminate();

       在HTML页面中,通过调用 Web Worker 对象的terminate( ) 方法终止 Web Worker。

用Worker实线一个简单的计数器









mytimer.js文件


var time = 0;

function timer() {
time++;
//从worker中发送数据
//worker中的全局变量,就是worker对象
postMessage(time);
console.log(time);
setTimeout(timer, 1000);
}
timer();

你可能感兴趣的:(Web Worker)