首页 > 代码库 > 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页