2017-04-04 81 views
0

有没有办法在If语句中设置多个事物?例如,在下面的代码中,如果某些内容为真或假,我想设置状态和图标变量。此代码不起作用,我怀疑它是因为& &不计算,但找不到解决方案。有什么建议么?if语句中的多个事件js

var status; 
var icon; 
if(x.life > 0) { 
    status = "Yes" && icon == "fa-check-circle-o" 
} else { 
    status = "No" && icon == " fa-times-circle-o" 
} 
+0

你要检查的值,或设置价值 ? –

+0

我想设置值为 – Dave

回答

1

有没有一种方法来设置多个东西在if语句?例如 在下面的代码中,我想设置状态和图标变量,如果 某些是真或假。

当然,这是可能的,但是,它目前不工作,因为你没有正确地分配值。使用单个(=)进行赋值,并使用双精度(==)进行比较(将返回boolean)。

试试这个:

var status; 
var icon; 
if(x.life > 0) { 
    status = "Yes"; 
    icon = "fa-check-circle-o"; 
} else { 
    status = "No"; 
    icon = " fa-times-circle-o"; 
} 
+0

惊人的,这样一个简单的解决方案。谢谢! – Dave

+0

@Dave肯定,如果您将答案标记为已接受,如果它有帮助,会非常感激。 –

+0

哈哈会做,它不会让我标记正确的另一个5分钟。 – Dave

1

使两个单独的语句,而不是使用&&和变量分配值时使用=代替==

var status; 
var icon; 
if(x.life > 0) { 
    status = "Yes"; 
    icon = "fa-check-circle-o" 
} else { 
    status = "No"; 
    icon = " fa-times-circle-o"; 
} 
1

没有必要使用& &这里,这将使你的语句的条件。 和==将检查平等比不上项目

var status; 
var icon; 
if(x.life > 0) { 
    status = "Yes"; 
    icon = "fa-check-circle-o"; 
} else { 
    status = "No"; 
    icon = " fa-times-circle-o"; 
} 
1

你必须将它们与分号或enter分开。

var status; 
    var icon; 
    if(x.life > 0) { 
     status = "Yes"; 
     icon == "fa-check-circle-o"; 
    } else { 
     status = "No"; 
     icon == " fa-times-circle-o"; 
    } 

注意&&是常用的布尔变量;
例如:

if(x.life > 0 && y.life > 0) { 
     status = "Yes"; 
     icon == "fa-check-circle-o"; 
    } 
+1

*“请注意,&&仅用于布尔参数”* - 否,不是。您可以将它用于任何类型。 – nnnnnn

0

如果您想根据的icon值(因为你在原来的代码已经==)设置status

var status; 
var icon; 
if (x.life > 0) { 
    if (icon == "fa-check-circle-o") { 
     status = "Yes"; 
    } 
} else { 
    if (icon == "fa-times-circle-o") { 
     status = "No"; 
    } 
}