据我所知,Web worker需要在一个单独的JavaScript文件中编写,并像这样调用:
new Worker('longrunning.js')
Run Code Online (Sandbox Code Playgroud)
我正在使用闭包编译器来组合和缩小我的所有JavaScript源代码,而我宁愿不必将我的worker放在单独的文件中进行分发.有办法做到这一点吗?
new Worker(function() {
//Long-running work here
});
Run Code Online (Sandbox Code Playgroud)
鉴于第一类函数对JavaScript至关重要,为什么执行后台工作的标准方法必须从服务器加载整个'其他JavaScript文件?
在JavaScript中,var声明在全局对象上创建属性:
var x = 15;
console.log(window.x); // logs 15 in browser
console.log(global.x); // logs 15 in Node.js
Run Code Online (Sandbox Code Playgroud)
ES6引入let了具有块范围的声明的词法作用域.
let x = 15;
{
let x = 14;
}
console.log(x); // logs 15;
Run Code Online (Sandbox Code Playgroud)
但是,这些声明是否在全局对象上创建属性?
let x = 15;
// what is this supposed to log in the browser according to ES6?
console.log(window.x); // 15 in Firefox
console.log(global.x); // undefined in Node.js with flag
Run Code Online (Sandbox Code Playgroud)