2017-07-31 9 views
0

私はいくつかのコードを練習していますが、何かエラーがあります。SyntaxError:期待される表現、キーワード「else」

表示エラーは次のように:

SyntaxError: expected expression, got keyword 'else'

以下は、1つの余分;を持っているコード

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); 
} 
+0

あなたが見ることができるエラーはあなたが持っているエラーの1つに過ぎません。 あなたのif文では、大括弧の直前にセミコロンを付けるべきではありません。 https://www.codecademy.com/blog/78 他 (scoreMalli> scoreJohn && scoreMalli:[1] [1] [セミコロンへのあなたのガイド]:ここ はなぜないことについて、全体の記事です> scoreSmith){ コンソール( 'Mary wins with' + scoreMalli);} あなたの 'else'ステートメントは大括弧で囲むことはできません。 あなたがそのチェックをしたいなら 'else if'に再構成するべきです'(scoreMalli> scoreJohn && scoreMalli> scoreSmith) ' –

答えて

2

です。エラーはここにある:

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

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

と同様の問題

2

削除を持っている場合、他の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); 
} 
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); 
    } 
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

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); 
} 

else節には条件がありません。

0

ifの構文は次のとおりです。

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

statement{...}を書かれた複雑なものでなければなりません。
(condition)の後に;と書きましたので、if節は空文で終了します。
その理由は、elseが構文エラーを引き起こすからです。読んでくれてありがとう。

関連する問題