所以,我选择了 JavaScript,因为我似乎很喜欢它。我买了一个在线类(class),现在我的代码面临挑战。这是一个非常简单的问题,所以希望其中一位专家可以帮助这个可怜的家伙(我)。

我有以下代码,据我所知应该是正确的:

var johnAge = 25; 
var markAge = 30; 
var steveAge = 40; 
 
var johnHeight = 170; 
var markHeight = 175; 
var steveHeight = 150; 
 
var John, Mark, Steve; 
 
John = johnHeight + 5 * johnAge; 
Mark = markHeight + 5 * markAge; 
Steve = steveHeight + 5 * steveAge; 
 
console.log('John: ' + John); 
console.log('Mark: ' + Mark); 
console.log('Steve: ' + Steve); 
 
if (John > Mark && Steve) { 
console.log('John wins!'); 
} else if (Mark > Steve && John) { 
console.log('Mark wins!'); 
} else if (Steve > John && Mark) { 
console.log('Steve wins!'); 
} else { 
console.log("it's a draw."); 
} 

这是我的问题:

约翰:295

标记:325

史蒂夫:350

史蒂夫赢了!

现在,这场比赛是关于拥有最高分的人赢得比赛。根据他的得分,史蒂夫显然是赢家。

问题出在这部分:

} else if (Mark > Steve && John) { 
console.log('Mark wins!'); 
} else if (Steve > John && Mark) { 
console.log('Steve wins!'); 

如果我进行以下更改,它将显示“Mark”赢得了比赛:

} else if (Mark > John && Steve) { 
console.log('Mark wins!'); 
} 

我只是在“约翰”和“史蒂夫”之间切换了位置。如果 John 先来,则表明“Mark won the game”,如果 Steve 先来,它会继续执行下一个“else if”,即“Steve won the game”。

我不明白的是,为什么即使我使用的是逻辑和 &&,但改变我的变量之间的位置会导致如此巨大的差异。

这个问题在我用binary和&的时候好像不存在。不过,就我所读到的内容而言,二进制和在编码方面并不可取,并且没有太多可以使用它的实际应用程序。

因此,如果可能的话,我想使用 && 而不是依赖 & 来解决这个问题。

我真的不明白这些变化及其原因。

预先感谢您对我的帮助和指导。

~干杯

请您参考如下方法:

您需要像这样检查玩家和其他玩家: 你现在的 if 语句是 Steve > John(true) && Mark(true)

var johnAge = 25; 
var markAge = 30; 
var steveAge = 40; 
 
var johnHeight = 170; 
var markHeight = 175; 
var steveHeight = 150; 
 
var John, Mark, Steve; 
 
John = johnHeight + 5 * johnAge; 
Mark = markHeight + 5 * markAge; 
Steve = steveHeight + 5 * steveAge; 
 
console.log('John: ' + John); 
console.log('Mark: ' + Mark); 
console.log('Steve: ' + Steve); 
 
if (John > Mark && John > Steve ) { 
console.log('John wins!'); 
} else if (Mark > Steve && Mark > John) { 
console.log('Mark wins!'); 
} else if (Steve > John && Steve > Mark) { 
console.log('Steve wins!'); 
} else { 
console.log("it's a draw."); 
}


评论关闭
IT序号网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!