这个循环在运行时会崩溃浏览器,但是我无法理解为什么 - 函数getN是三个函数中的一个,用于分解二次方程。 我确定这是导致问题的循环,我已经测试了这个,并且当for循环存在时浏览器只会崩溃。任何帮助将不胜感激。
function getN(decP){
var a = document.getElementById("a-f").value;
var b = document.getElementById("b-f").value;
var c = document.getElementById("c-f").value;
var n_1 =0;
var n_2 =0;
var result = Math.pow(10, (decP*-1));
var a_c = a*c;
var neg_a_c = 0;
var pos_a_c = 0;
if(a_c<0){
neg_a_c = a_c;
pos_a_c = a_c*-1
}
else{
pos_a_c = a_c;
neg_a_c = a_c*-1;
}
for(x=neg_a_c;x<=pos_a_c;x+result){
if(x!==0){
if(x+(a_c/x)===b){
var num1 = x;
var num2 = a_c/x;
}
}
}
divideByCoefficient(num1, num2)
};
答案 0 :(得分:5)
for(x=neg_a_c;x<=pos_a_c;x+result){
^
`-----here
您可能意味着x += result
(或x = x + result
),而不只是x+result
。
x+result
永远不会修改x
。所以x
总是等于neg_a_c
,循环会永远运行。