if语句和三元运算符之间的区别

时间:2017-10-18 16:25:20

标签: javascript function

"http://localhost:8080/rest/type/automobile/car"

当我运行第一个代码块时,它只执行第一个调用。另一方面,对于第二个块,它运行所有三个。

3 个答案:

答案 0 :(得分:1)

b。

缺少console.log
a > b ? console.log("a: ", a): console.log("b: ", b);

答案 1 :(得分:1)

使用三元组,当条件为假时,您永远不会调用console.log("b: ", b)评估为b,然后您不对结果做任何事情。

使用if语句的大致等效代码将是

if (a > b) {
  console.log("a: ", a);
} else {
  ("b: ", b);
}

当你使用更详细的陈述时,错误可以说更清楚了。将三元线更改为

a > b ? console.log("a: ", a) : console.log("b: ", b);

请注意,使用三元运行副作用通常被认为是不好的做法。使用console.log内部的三元组来选择要传入的参数,或者使用if语句。

答案 2 :(得分:0)

你的功能不一样。如果a > b为真,则第一个函数仅打印一些内容。第二个函数以任一方式打印。

这是使用三元运算符的一个警告。这非常有帮助,但很容易错过像你刚才那样的细节。

总结:两个块都运行这两个函数,但第一个块只打印了一半的时间。