2016-12-22 4 views
0

こんにちは私はJSを使い始めていますが、ここで起こっていることのいくつかは私には少し不思議です。私の質問はなぜ私のコードの第3変数resultMarcinは私の単純なコード行で考慮されていないのですか?Javaスクリプトですべての変数を識別できない

var ageMike = 25; 
var ageTom = 30; 
var ageMarcin = 90; 

var heightMike = 178 * 5; 
var heightTom = 150 * 5; 
var heightMarcin = 210 * 5; 

var resultMike = ageMike + heightMike; 
var resultTom = ageTom + heightTom; 
var resultMarcin = ageMarcin + heightMarcin; 


if (resultMike > resultTom && resultMarcin) { 

    alert('Mike wins with score ' + resultMike); 

} else if (resultTom > resultMike && resultMarcin) { 

    alert('Tom wins with score' + resultTom); 

} else if (resultMarcin > resultMike && resultTom) { 

    alert('Marcin wins with score' + resultMarcin); 

} else if (resultMike === resultTom && resultMarcin) { 

    alert("It's a tie"); 

} 
+2

「とみなされていない」あなたは何を意味するか:

ここではそれについていくつかのより多くの情報がありますか?あなたが得たエラーは何ですか? – Aidin

+1

resultMarcinが 'true'または' false'であるかどうかだけチェックしています –

+0

'if(resultMike> resultTom && resultMike> resultMarcin){/ *あなたのアラート* /}'を実行したいと思っています。 resultMikeがresultTomより大きく、resultMarcinが真理値である場合。 –

答えて

4

あなたの問題はif文です。 resultMarcinはJavaScriptでtruthyあるので

if (resultMike > resultTom && resultMarcin) { 

if (resultMike > resultTom && resultMike > resultMarcin) { 

でなければなりません。値が> 0である場合、それはあなたにtrueを与えるだろう、そう声明は述べているあなたの場合:

意味
if (resultMike > resultTom && true) 

、実際にはトム・対のみ最初miveチェックするので、常に真である場合の第二部。 https://www.sitepoint.com/javascript-truthy-falsy/

関連する問題