gpt4 book ai didi

JavaScript:&& 和 & 的不同结果,带数字

转载 作者:行者123 更新时间:2023-12-02 08:07:48 24 4
gpt4 key购买 nike

所以,我选择了 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.");
}

关于JavaScript:&& 和 & 的不同结果,带数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49823230/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com