【发布时间】:2012-02-03 22:00:32
【问题描述】:
我经常看到和使用这样的代码:
var myvar = (1 < 2) ? 3 : 4 ; //if 1 < 2 then myvar = 3, else = 4
但我最近才看到一个正在执行代码的代码,就像 if(){}else{} 的某种替换:
示例:
(1 < 2) ? alert("example1") : alert("example2");
我的第一个想法是,“哇,这好像缩短了 6 到 7 个字符”、“无限可能”或“这让我很开心”。
我的问题:
- 这个东西没有错误并且使用安全吗? (比如,里面有很多代码,还有嵌套的东西)
目前,我将继续以正常方式使用它,我担心如果我开始使用它来执行代码片段可能无法正常工作。
【问题讨论】:
-
在我看来,您应该仅将三元条件用于简短说明。对于属于真条件或假条件的代码块,你应该使用 if{} else {},但这只是我的意见。我也对使用这种三元条件的最佳方法感兴趣。
标签: javascript conditional-operator