这是声明:
var H = dr ? ((C < 0 ? 0 : 1) - C) / dr : 0
博士和C是花车.
我不知道“博士是什么?”意思是因为它只是一个浮点而不是真/假值.
我想知道是否有人可以将其翻译成传统的if-else语句. “/ dr:0”的事情让我感到困惑.
解决方法:
Leo Li’s answer提供了翻译,但是当你的“浮动”时,你的问题似乎更像是将dr用作布尔值:
I don’t know what “dr ?” means because it’s just a float and not a true/false value.
没有必要这样做. JavaScript强制改变价值观.如果博士确实是一个数字,博士? x:y如果dr不为0而不是NaN,y将评估为x,如果dr为0或NaN,则y将评估为y.
更一般地说:任何时候在一个条件中使用一个值(无论它是你的问题中的条件运算符,或者是(值),还是while(值)等),任何虚假值都会强制为false,任何真值都会强制为真.假值是0,NaN,“”,null,undefined,当然,false;所有其他价值都是真实的.