为什么使用for命令时会抛出“意外令牌”?

时间:2019-05-15 15:26:28

标签: javascript error-handling

我正在使用for命令,当我执行for(i < 4) { i++ }时,它会弹出:Unexpected token ) at line *line of the command*

我尝试移动一些变量并移动for命令的位置,甚至检查StackOverflow,但找不到答案。这很奇怪,因为过去从未发生过。

function learnEng() {
    while(generationNum <= generations) {
        for(i <= 4) {
            i++;
        }
    document.write("<h2>sentence "+generationNum+": "+output+"</h2>");
        generationNum++;
        }
}
learnEng();

我没想到会收到错误,因为这是我第一次得到它,并且它会吐出一个错误,并且有时它会在for(){}命令处于运行状态时出现,有时是不是,但是我知道for(){}命令是由它引起的,因为当它不存在时它不会发生。

2 个答案:

答案 0 :(得分:0)

for statement需要三个(可选)表达式,以分号分隔:

for ([initialization]; [condition]; [final-expression])

如果要省略任何可选表达式,则仍然需要分号。

例如,这是一个for语句,其中没有可选表达式:

var i = 0;

for (;;) {
  if (i > 3) break;
  console.log(i);
  i++;
}

答案 1 :(得分:0)

我认为该错误是由于无效的for语法引起的。您需要插入2 ;

function learnEng() {
    while(generationNum <= generations) {
        for(;i <= 4;) {
            i++;
        }
     document.write("<h2>sentence "+generationNum+": "+output+"</h2>");
        generationNum++;
        }
}
learnEng();
相关问题