javascript,意外的令牌{

javascript, unexpected token {

本文关键字:令牌 意外 javascript      更新时间:2023-09-26

好吧,我有一个非常基本的语法错误,我正在解决它。显然,我错过了代码学院课程中一些非常基本和重要的东西,我似乎无法解决。我会在下面发布代码。我想在内心做什么应该是显而易见的。

错误="语法错误:意外的令牌{"

目标是编写我自己的代码,结合循环、if/else和函数。

var data = ["love", "peace", "anger", "war"]
for (i = 0; i < data.length; i++){
  if (i <=2){
    console.log("life is" + " " +data[i]);
  }
  else if (i <=4){
    console.log("Strife is" + " " + data[i]);
  }
  else (i = 5){
    console.log("That's all for now");
  }
}

正如所指出的,问题在于,当所有其他对应的if/else-if条件都失败时,else不采用有意义的条件,因为else主体正在运行。

因此,JavaScript(不需要在if/else主体周围加大括号)是这样解析的:

else Statement

更具体地说,它开始将其解析为ExpressionStatement (i = 5),后跟一个无效的{。它无效的原因与以下无效的原因相同:

i = 5 { }

语句必须用分号分隔——显式分隔或通过自动插入分号分隔。前者没有完成,后者不适用于给定的代码。