我试图找到一种在Web Worker中实例化对象文字功能的方式。闭包是一种很棒的方法,但是闭包似乎无法访问Foo
(this
始终是指工作人员专用的全局上下文)。另外,我无法将Foo
传递或绑定到闭包,因为浏览器会抱怨初始化之前无法访问它。
有什么方法可以从bar
修改init
?
p.s。我知道显式调用Foo.init()
的选项,但这不是我的意图。我正努力避免这种情况。
const Foo =
{
bar: {},
init: (function (){
//Make some computations and add it to bar
this.bar["key"] = someSpecialValue;
})()
//Doesn't work either:
// })(this)
// })().bind(this)
// })(Foo)
}