我使用的是 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);
}