缺少 ) 在 for 循环控制之后 - 计算器

missing ) after for-loop control - Calculator

我尝试为数学练习制作一个计算器,例如:x^2+2(2x+3)+3x 但是我总是 missing ) after for-loop control 在下面的代码中,我尝试找到最接近下一个 ( 的运算符(+-)。

也许我只是失败了,两个 for() 合二为一,但从未发现那里有问题。

for (var i = 0; i < indexAuf.length; i++;) {
  // Which operator is the closest to the "(" \
  var maxPlus = 0;
  var maxMinus = 0;

  for (var j = 0; j < indexPlus; j++;) {
    if (indexPlus[j] < indexAuf[i]) {
      if (indexPlus[j] > maxPlus) {
        indexPlusMax = indexPlus[j]
        indexPlusMaxj = j
      }
    }
  }

  for (var l = 0; l < indexMinus; l++;) {
    if (indexPlus[l] < indexAuf[i]) {
      if (indexMinus[l] > maxMinus) {
        indexMinusMax = indexPlus[l]
        indexMinusMaxl = i
      }
    }
  }

  if (indexMinusMaxl > indexPlusMaxj) {
    alert("indexMinusMaxl" + indexMinusMaxl);
  } else {
    alert("indexPlusMaxj" + indexPlusMaxj);
  }

} else {
  return;
}

如果您对如何改进代码有一些想法。我已经发布了完整的代码@Pasbin

http://pastebin.com/VdWeMqBx

谢谢。

删除for (var i = 0; i < indexAuf.length; i++;){/*...*/}

中的最后一个分号

编译器内部的for循环语法规则是这样的:

 for PARENTHESIS STATEMENT SEMICOLON EXPRESSION SEMICOLON STATEMENT PARENTHESIS BLOCK

末尾的另一个分号会导致语法错误。

错误消息暗示在“;”之前缺少“)”:

for (var i = 0; i < indexAuf.length; i++;) { }

正确的是:

for (var i = 0; i < indexAuf.length; i++) { }