Javascript: document.getElementById.innerHTML 中的 if-else 语句不

Javascript: if-else statement in document.getElementById.innerHTML not working

本文关键字:if-else 语句 中的 innerHTML document getElementById Javascript      更新时间:2023-09-26

我正在打印div中值数组的值。我有以下代码运行良好:

...
...
document.getElementById("div").innerHTML = "Value: " + values[i];
<div id="div">The Value will be displayed here.</div>
但是,我的值数组

中的某些值是负数,但我只想显示数组的正数。因此,如果一个数字是负数,它应该说 0

我尝试了以下方法,但它不起作用:

...
...
document.getElementById("div").innerHTML = "Value: " + if (values[i] < 0) {0} else {values[i]};

有什么线索或提示吗?我是javascript的新手,感谢帮助。

还要考虑Math.max

document.getElementById("div").innerHTML = "Value: " + Math.max(0, values[i]);

使用三元运算符,如:

var vals = (values[i] < 0 ) ? 0 : values[i];
document.getElementById("div").innerHTML = "Value: " + vals;

if语句不"返回"值;它们指示代码执行路径,如下所示:

if this happens
   do this
else
  do that

您希望根据条件连接 A 值,在您的情况下,三元运算符非常适合,因为它们返回给定条件的可能值

var returnedValue = (condition)? value-if-true : value-if-false;

在您的情况下:

var myValue = (values[i] < 0)? 0 : values[i]; document.getElementById("div").innerHTML = "Value: " + myValue;

或者把它们放在一起:

document.getElementById("div").innerHTML = "Value: " + (values[i] < 0)? 0 : values[i];