我正在使用一个Web应用程序,该应用程序必须根据布尔值的状态显示一个或另一个值。如果我的var
“值”是true
,我需要它显示“ ON”,否则它必须显示“ OFF”。
我做了这段代码,我很确定它会起作用,但是我弄错了:
var value = true // actually this changes over time
var s = new String();
s += '<span style="color:white; font-size:14px; font-weight:bold;">'+ "ALRM H2S:" +'</span>';
s += '<span style="color: orange; font-size:14px; font-weight:bold;">'+ if(value){return "ON"} else {return "OFF"} +'</span>';
return s;
我收到“第(#3)行的语法错误”。我认为问题一定是我无法将if
else
语句与其余HTML元素连接起来,即使它们返回了string
。
您能帮我弄清楚我在做什么错吗?。
非常感谢。
[是的,您不能有这样的内联if语句,因此在这种情况下,应使用ternary operator。您可以像这样使用它:
var value = true; // actually this changes over time
var s = new String();
s += '<span style="color:white; font-size:14px; font-weight:bold;">' + "ALRM H2S:" + "</span>";
s += '<span style="color: orange; font-size:14px; font-weight:bold;">' + (value ? "ON" : "OFF") + "</span>";
return s;
添加字符串时不能运行条件语句。我的建议是给您一个返回字符串的箭头函数。
var value = true // actually this changes over time
var s = new String();
var ifOn = () => { value? "ON" :"OFF"}
s += '<span style="color:white; font-size:14px; font-weight:bold;">'+ "ALRM H2S:" +'</span>';
s += '<span style="color: orange; font-size:14px; font-weight:bold;">' + ifOn() +'</span>'
路易斯·拉玛略,谢谢您的回答!
我想出的代码不如您建议的那么好,但是它可以工作:
var s = new String();
var h2sStatus;
if(value){ h2sStatus = "ON"} else {h2sStatus = "OFF"}
s += '<span style="color:white; font-size:14px; font-weight:bold;">ALARM H2S: </span>';
s += '<span style="color: orange; font-size:14px; font-weight:bold;">'+ h2sStatus +'</span>';
return s;
我发布了它,以防对某人有所帮助。