This question already has answers here:
Prevent long running javascript from locking up browser
                                
                                    (7个答案)
                                
                        
                                3年前关闭。
            
                    
我有两个脚本。

第一:

a = 0;
for (var i = 1000000000 - 1; i >= 0; i--) {
    a += i;
};
console.log(a);


封顶:

setInterval(function(){
    if (l.data('pos') == 0) {
        l.css('margin-left', '10px');
        l.data('pos', '1');
    }else{
        l.css('margin-left', '0');
        l.data('pos', '0');
    }
}, 100);


JSFiddle demo

如您所见,浏览器在完成第一部分之后运行第二部分。

我可以在后台运行第一部分,第二部分可以从准备好的文档中运行吗?

最佳答案

JavaScript是单线程的,但是HTML5 Web Workers支持多线程,但是您需要处理支持旧版浏览器的问题。

更多信息:https://msdn.microsoft.com/en-us/hh549259.aspx

09-25 18:24
查看更多