Javascript Java脚本无法识别所有变量

Javascript Java脚本无法识别所有变量,javascript,variables,if-statement,Javascript,Variables,If Statement,嗨,我刚开始学习JS,这里发生的一些事情对我来说还是有点神秘。我的问题是为什么我的代码resultMarcin中的第三个变量在我的简单代码行中没有被考虑 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

嗨,我刚开始学习JS,这里发生的一些事情对我来说还是有点神秘。我的问题是为什么我的代码resultMarcin中的第三个变量在我的简单代码行中没有被考虑

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

}

我认为你的问题是如果陈述

if (resultMike > resultTom && resultMarcin) {
应该是

if (resultMike > resultTom && resultMike > resultMarcin) {
因为
resultMarcin
在JavaScript中是
truthy
。如果值大于0,则只会给出
true
,因此您的If语句会说:

 if (resultMike > resultTom && true) 
也就是说,if的第二部分总是正确的,所以实际上它只检查第一个mive和tom

以下是关于它的更多信息:
我认为你的问题在于if语句

if (resultMike > resultTom && resultMarcin) {
应该是

if (resultMike > resultTom && resultMike > resultMarcin) {
因为
resultMarcin
在JavaScript中是
truthy
。如果值大于0,则只会给出
true
,因此您的If语句会说:

 if (resultMike > resultTom && true) 
也就是说,if的第二部分总是正确的,所以实际上它只检查第一个mive和tom

以下是关于它的更多信息:

你说的“不被考虑”是什么意思?你得到的错误是什么?你只是在检查resultMarcin是否为
true
false
我想你应该做
如果(resultMike>resultTom&&resultMike>resultMarcin){/*你的警报*/}
,现在它检查resultMike是否大于resultTom,resultMarcin是否为真值。你的意思是什么“未被考虑”?您得到的错误是什么?您只是在检查resultMarcin是否为
true
false
我想您应该执行
如果(resultMike>resultTom&&resultMike>resultMarcin){/*您的警报*/}
,因为现在它检查resultMike是否大于resultTom,以及resultMarcin是否为真实值。