1

我在我的 javascript 代码中遇到了语法错误。我收到“意外令牌其他”错误消息。我希望有人可以帮助我。这是我的代码:

function doRed() {
  for (var pixel of img.values()){
    var avg = (pixel.getRed()+pixel.setGreen()+pixel.getBlue())/3;
    if ( avg() < 128) {
    pixel.setRed(2*avg);
    pixel.setGreen(0);
    pixel.setBlue(0);
  }
    }
  else {
    pixel.setRed(255);
    pixel.setGreen(2*avg - 255);
    pixel.setBlue(2*avg - 255);
  }
  var imgcanvas = document.getElementById("can");
  img.drawTo(imgcanvas);
}
4

1 回答 1

0

您的else-statement 位于错误的位置,在for-loop 而不是if-statement 之后。

你可能打算这样写:

function doRed() {
  for (var pixel of img.values()) {
    var avg = (pixel.getRed()+pixel.setGreen()+pixel.getBlue())/3;
    if (avg() < 128) {
      pixel.setRed(2*avg);
      pixel.setGreen(0);
      pixel.setBlue(0);
    }
    else {
      pixel.setRed(255);
      pixel.setGreen(2*avg - 255);
      pixel.setBlue(2*avg - 255);
    }
  }

  var imgcanvas = document.getElementById("can");
  img.drawTo(imgcanvas);
}
于 2020-08-15T03:57:49.660 回答