所以我使用JavaScript来解决简单的代数表达式。我完成了数学部分的所有工作,但我需要再次运行一行代码。所以我使用条件分支来确定等式的第一边是否等于第二边。如果它相等则给出变量的值,但如果它不相同,则变量增加1。
function Command() {
var FirstSide = document.getElementById("FirstLine").value;
var SecondSide = document.getElementById("SecondLine").value;
var evalLineOne = FirstSide;
var evalLineTwo = SecondSide;
var X = 1;
var MathLineOne = eval(evalLineOne);
var MathLineTwo = eval(evalLineTwo);
if (MathLineOne == MathLineTwo)
document.getElementById("Reply").innerHTML = X;
else {
X + 1;
}
所以这是我使用过的代码。当使用X的值不为1的代数表达式时,代码根本不起作用。我假设这是因为我需要从定义" X"的值的代码行重新运行代码。我该如何回去运行这段代码?
答案 0 :(得分:0)
如果不对代码进行大量更改,可以递归调用相同的函数,如下所示:
var max = 9999999; //set this to whatever you want
function Command(X) {
if (typeof X === 'undefined') X = 1;
if (X > max) return;
var FirstSide = document.getElementById("FirstLine").value;
var SecondSide = document.getElementById("SecondLine").value;
var evalLineOne = FirstSide;
var evalLineTwo = SecondSide;
var MathLineOne = eval(evalLineOne);
var MathLineTwo = eval(evalLineTwo);
if (MathLineOne == MathLineTwo)
document.getElementById("Reply").innerHTML = X;
else {
Command(X+1);
}
}