首页 > 代码库 > 9月4号=》456页-460页

9月4号=》456页-460页

17.2.2  Worker线程中可用的API

    前面已经看到,Worker线程启动的JavaScript脚本不能访问DOM API,不能动态地修改前台HTML界面组件。事实上,Worker线程所启动的JavaScript脚本甚至

    不能调用alert()、confirm()、prompt()等用户交互函数。

    在Worker线程中可用的API大致有如下几个:

      onmessage:这是一个事件监听器属性,通过为该属性指定的函数可以获取前台JavaScript脚本提交过来的数据。

      postMessage(data):这是Worer的核心方法。如果在Worker启动的JavaScript脚本中调用该方法提交消息,将会触发相应Worker对象的onmessage事件:如果调用

                前台JavaScript脚本中Worker对象的postMessage()方法提交消息,将会触发该Worker对象启动的JavaScript脚本中的onmessage事件监听器。

      importScripts(urls):这也似乎是Worker的核心方法。该方法可用于导入JavaScript脚本,该方法可以同时导入多个JavaScript脚本,例如(“a.js”,“b.js”,“c.js”);。

      sessionStorge/localStorage:完全可以在Worker线程中使用Storage来执行本地存储。

      Worker:Worker线程可以创建新的Worker对象来启动嵌套线程。

      XMLHttpRequest:Worker线程中可以使用XMLHTTpRequest来发送异步请求。

      navigaor:这是一个WorkerNavigator对象,该对象的功能与window里的navigator属性相似。

      location:这是一个WorkerLocation对象,该对象的功能与window里的location属性相似。

      self:这是一个WorkerGlobalScope对象,该对象就代表了当前Worker线程自身的作用域。调用self的close()方法可以结束本线程。

      setTimeout()/setInterval()/eval()/isNan()/parseInt()等:这些是与界面无关的JavaScript核心函数,包括使用Array/Data/Math/Number/Object/String 等JavaScript

                                  核心创建对象,以及使用这些类的对象。

 

17.3  Worker线程嵌套

    除了在JavaScript中通过Worker启动子线程之外,我们也可以在Worker中再次创建Worker对象来启动线程,这样就形成了线程嵌套。

    

9月4号=》456页-460页