加快javascript运行时间

时间:2015-10-12 22:13:06

标签: javascript optimization execution

虽然我已经回顾了以前几篇文章,但我的新手功能对于加速执行以下代码的解决方案是盲目的。有几百k,每个k有(数十)数千i和nearSum()有一个循环来评估testStr。

此代码很慢并且超时Chrome - 如何改进执行? 在你提问之前,任何代码的唯一原因是'因为它正在工作'。 nn的值是全局变量。

Function()…
resArrLen = resultArray[k].length;
for (i=0;i<resArrLen;i++)
{
testStr = resultArray[k][i].toString();
resultArray[k][i] = testStr + "'" + nearSum(testStr);
}//end for i
…

function nearSum(seqFrag)
{
var i=0;
var ninj=0;
var seqFragLen=0;
var calcVal=0;
var nn="";

//sum values
seqFragLen = seqFrag.length;
for (i=0; i+1<seqFragLen; i++)
{
nn = seqFrag.substr(i,2);  //gets value
ninj = eval(nn);
calcVal = calcVal.valueOf() + ninj.valueOf();
} //end for i

return calcVal.toFixed(2);

} //end nearSum

1 个答案:

答案 0 :(得分:0)

首先,您似乎使用'eval'将字符串转换为数字。这不是打算如何使用。请改用“Number(nn)”或“parseInt(nn)”。

否则,代码不完整,没有示例数据,很难优化。