我使用的是jQuery 1.7.1
我刚刚开始使用JavaScript三元运算符来替换简单的if/else语句。我已经在几个地方成功地做到了这一点。当我认为肯定不会成功地让其他东西工作时,我很惊讶,但我还是尝试了。
以下是原始语句:
function updateItem() {
$this = $(this);
var IsChecked = $this.hasClass("IsChecked");
if (IsChecked == true){
removeItem($this);
} else {
addItem($this);
}
}
下面是使用三元运算符的相同函数:
function updateItem() {
$this = $(this);
var IsChecked = $this.hasClass("IsChecked");
(IsChecked == true) ? removeItem($this) : addItem($this);
}
我很惊讶,因为我看到的所有示例都只是像这样设置变量:
x = (1 < 2) ? true : false;
我的问题是,这是否是“正常”使用,它能在大多数JavaScript版本中工作吗?它会在哪里失败呢?它还有其他不太明显的用途吗?
更新--感谢您的“真实世界”建议!
我使用这个作为我的函数:
function updateItem() {
$this = $(this);
$this.hasClass("IsChecked") ? removeItem($this) : addItem($this);
}
https://stackoverflow.com/questions/10323829
复制相似问题