Java脚本无法识别所有变量

时间:2016-12-22 09:54:31

标签: 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;
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");

}

1 个答案:

答案 0 :(得分:4)

我认为你的问题是if statement。

if (resultMike > resultTom && resultMarcin) {

应该是

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

因为resultMarcin在JavaScript中是truthy。如果值> 0,则只会给您true,因此您的if语句会显示:

 if (resultMike > resultTom && true) 

这意味着if的第二部分总是为true,所以实际上它只检查第一个mive和tom。

以下是有关它的更多信息: https://www.sitepoint.com/javascript-truthy-falsy/