可以循环展开或duff帮助这种情况吗?

时间:2010-10-15 01:45:57

标签: javascript optimization

我正在使用这段代码,以便将一些大的ajax responseText重新格式化为良好的二进制数据。虽然很慢,但它仍然有效。

我正在使用的数据可能大到8-10兆。

我需要让这段代码绝对有效。如何将循环展开或Duff的设备应用于此代码,同时仍然保持我的二进制数据完好无损,或者是否有人看到任何可以更改的内容以帮助提高其速度?

    var ff = [];
var mx = text.length;   
var scc= String.fromCharCode;
for (var z = 0; z < mx; z++) {
    ff[z] = scc(text.charCodeAt(z) & 255);
}
var b = ff.join("");
this.fp=b;
return b;

由于 专利

2 个答案:

答案 0 :(得分:1)

你的时间不是循环。就是这样:ff[z] = scc(text.charCodeAt(z) & 255);你逐渐增长ff吗?这将是一头猪,保证。

如果你只是在调试器下运行并暂停它,我打赌你会在增长ff的过程中看到它。预分配。

答案 1 :(得分:0)

将数据转换为服务器上的JSON数组。即使使用本机JSON引擎,8/10兆字节也需要很长时间。我不确定为什么JS应用程序需要8/10兆的数据。如果您要下载到客户端的设备,请将其转换为他们期望的格式并链接到它。他们可以自己下载和处理它。