Javascript web worker JS中的窗口[funcName]()的等效项是什么?
如何在web worker JS中编写Javascript web worker JS中的窗口[funcName]()的等效项是什么?,javascript,web-worker,Javascript,Web Worker,如何在web worker JS中编写窗口[funcName]() 如何在脚本的顶部上下文中声明对函数的访问?在WebWorker中,您可以用来引用全局范围(您也可以使用this(当它指向全局范围时,它的工作方式与窗口的工作方式完全相同): 您无法访问窗口对象,这实际上是web工作者的目标 工作线程可以在不干扰用户界面的情况下执行任务 对文档的引用将回答您的问题: worker在另一个全局上下文中运行,该上下文与 当前窗口。因此,使用窗口快捷方式获取当前 工作进程中的全局作用域(而不是自身)将返
窗口[funcName]()
如何在脚本的顶部上下文中声明对函数的访问?在
WebWorker
中,您可以用来引用全局范围(您也可以使用this
(当它指向全局范围时,它的工作方式与窗口的工作方式完全相同):
您无法访问窗口
对象,这实际上是web工作者的目标
工作线程可以在不干扰用户界面的情况下执行任务
对文档的引用将回答您的问题:
worker在另一个全局上下文中运行,该上下文与
当前窗口
。因此,使用窗口
快捷方式获取当前
工作进程中的全局作用域(而不是自身)将返回错误
但是你有一个包含一些内置功能的self
对象。你的问题很不清楚。标签上写着“考虑JavaScript”……你是说网络工作者吗?你说的“脚本的顶级上下文”是什么意思?您是在询问web worker最外层的部分,还是询问加载到HTML页面中触发worker的脚本?您的示例将funcName
显示为变量,您是在具体询问如何基于变量访问不同的函数?还是这与问题无关?您应该提供一个由于您的代码是如何组合在一起的。您已经标记了这是一个Go语言标记,这与您的问题有什么关系?(认真地说:阅读您正在使用的标记的详细信息,并确保它们是正确的标记!)是的,这是给web worker的。sry对于misstake,我编辑标记!我已经尝试过了,但没有效果。可能是coffeescript的错误?当我编写myFunction=->42时,它被编译为lambda函数?不幸的是,我对coffeescript了解不多,我唯一能建议你的是检查输出代码,看看有什么问题。
// worker.js
function foo() {
console.log("hello worker");
}
self['foo']()