返回一行代码

时间:2018-01-16 23:36:39

标签: javascript

所以我使用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"的值的代码行重新运行代码。我该如何回去运行这段代码?

1 个答案:

答案 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);
   }
}