我有JavaScript执行大量的计算以及从DOM读取/写入值.该页面非常庞大,因此通常最终会锁定浏览器长达一分钟(有时更长时间使用IE),CPU占用率为100%.
是否有任何资源可以优化JavaScript以防止这种情况发生(我能找到的是如何关闭Firefox长时间运行的脚本警告)?
Pau*_*xon 50
如果您可以将计算算法转换为可以迭代调用的内容,则可以使用具有短超时值的setTimeout以频繁的间隔释放控制权.
例如,像这样......
function doCalculation()
{
//do your thing for a short time
//figure out how complete you are
var percent_complete=....
return percent_complete;
}
function pump()
{
var percent_complete=doCalculation();
//maybe update a progress meter here!
//carry on pumping?
if (percent_complete<100)
{
setTimeout(pump, 50);
}
}
//start the calculation
pump();
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
43915 次 |
最近记录: |