SyntaxError:期望表达式,得到关键字' else'

时间:2017-07-31 14:52:06

标签: javascript

我正在练习一些代码并遇到一些错误,任何人都可以帮助我。

显示如下错误:

  

SyntaxError:期望表达式,得到关键字'否则'

以下是代码

var ageJohn = 25;
var heightJohn = 165;

var ageSmith = 60;
var heightSmith = 180;

var ageMalli = 24;
var heightMalli = 170;

var scoreJohn = heightJohn + 5 * ageJohn;
var scoreSmith = heightSmith + 5 * ageSmith;
var scoreMalli = heightMalli + 5 * ageMalli;


if (scoreJohn > scoreSmith && scoreJohn > scoreMalli); {
    console.log('John wins with ' + scoreJohn);
} else if (scoreSmith > scoreJohn && scoreSmith > scoreMalli); {
    console.log('Smith wins with! ' + scoreSmith);
} else(scoreMalli > scoreJohn && scoreMalli > scoreSmith); {
    console('Mary wins with ' + scoreMalli);
}

6 个答案:

答案 0 :(得分:2)

您还有一个;。错误在这里:

} else if (scoreSmith > scoreJohn && scoreSmith > scoreMalli); {

更改为

} else if (scoreSmith > scoreJohn && scoreSmith > scoreMalli) {

另外两行如果有类似问题

答案 1 :(得分:2)

删除“;”应该是:

if (scoreJohn > scoreSmith && scoreJohn > scoreMalli) {
   console.log('John wins with ' + scoreJohn);
} else if (scoreSmith > scoreJohn && scoreSmith > scoreMalli) {
   console.log('Smith wins with! ' + scoreSmith);
} else(scoreMalli > scoreJohn && scoreMalli > scoreSmith) {
   console('Mary wins with ' + scoreMalli);
}

答案 2 :(得分:0)

你不应该有;在你的if语句之后,删除它应该可以正常工作。

    if (scoreJohn > scoreSmith && scoreJohn > scoreMalli) {
        console.log('John wins with ' + scoreJohn);
    } else if (scoreSmith > scoreJohn && scoreSmith > scoreMalli) {
        console.log('Smith wins with! ' + scoreSmith);
    } else(scoreMalli > scoreJohn && scoreMalli > scoreSmith) {
        console('Mary wins with ' + scoreMalli);
    }

答案 3 :(得分:0)

试试这个:

var ageJohn = 25;
var heightJohn = 165;

var ageSmith = 60;
var heightSmith = 180;

var ageMalli = 24;
var heightMalli = 170;

var scoreJohn = heightJohn + 5 * ageJohn;
var scoreSmith = heightSmith + 5 * ageSmith;
var scoreMalli = heightMalli + 5 * ageMalli;


if (scoreJohn > scoreSmith && scoreJohn > scoreMalli) {
    console.log('John wins with ' + scoreJohn)
} else if (scoreSmith > scoreJohn && scoreSmith > scoreMalli) {
    console.log('Smith wins with! ' + scoreSmith)
} else if(scoreMalli > scoreJohn && scoreMalli > scoreSmith) {
    console('Mary wins with ' + scoreMalli);
}

我从if语句中删除了分号并修复了最后else if

答案 4 :(得分:0)

你有一些语法错误。

if (scoreJohn > scoreSmith && scoreJohn > scoreMalli) {
    console.log('John wins with ' + scoreJohn);
} else if (scoreSmith > scoreJohn && scoreSmith > scoreMalli) {
    console.log('Smith wins with! ' + scoreSmith);
} else if (scoreMalli > scoreJohn && scoreMalli > scoreSmith) {
    console('Mary wins with ' + scoreMalli);
}

你的其他条款不能有条件,你应该把它扩展到另一个,如果。

答案 5 :(得分:0)

if语句的语法就像;

if (condition or Boolean value)
    statement;
else
    statement;

statement必须是复杂的{...} 您在;之后编写了(condition),因此if子句以空语句结束 这就是为什么,else会引发语法错误。谢谢你的阅读。