我正在创建一个网页,它将查找数字的主要因式分解。我使用的函数在一个循环内调用它自己。在我自己执行函数之后,循环的索引从它从第二次调用到达的索引改变。它应该返回数组中的所有素数因子。这是代码。当函数调用自己时,Javascript变量发生更改
function pf(num){
max=Math.floor(Math.sqrt(number));
factors=[];
prime=true;
for(count=2;count<=max;count++){
ratio=num/count;
if(ratio%1==0){
alert(count);//HERE
factors=pf(ratio);
alert(count);//HERE
factors.push(count);
prime=false;
break;
}
}
if(prime){
factors.push(num);
}
return factors;
}
说这个代码的20输入的第一个警报将显示2号运行,但下一个将显示3.有没有一种方法,使循环的当前索引不会被改变第二次调用函数?
'var'不是可选的! – epascarello