JavaScript - 条件和if / else之间的区别?

时间:2010-12-26 22:54:27

标签: javascript if-statement

这之间是否存在重大差异:

var status = (age >= 18) ? "adult" : "minor";

这个?

var status;

if (age >= 18)
    status = "adult";
else
    status = "minor";

2 个答案:

答案 0 :(得分:2)

就性能而言,可能会有所不同。与if()相比,某些浏览器使用? :时速度较慢或使用速度较慢。使用当前浏览器预编译JavaScript代码的方式,这可能不再是问题。如果你计划做与旧浏览器兼容的时间关键的东西,那么这可能需要考虑。

然而,就代码的逻辑而言,它是相同的。

答案 1 :(得分:1)

要添加我的两美分,这个(?:)被称为三元运算符。维基百科有一篇关于这个主题的好文章。几乎每种高级语言都支持。

请参阅:http://en.wikipedia.org/wiki/Ternary_operation