我总是不得不放入null没有任何东西的其他条件.不管怎么说呢?例如
condition ? x = true : null;
Run Code Online (Sandbox Code Playgroud)
基本上,有办法吗?
condition ? x = true;
Run Code Online (Sandbox Code Playgroud)
现在它显示为语法错误
仅供参考,这里有一些真实的示例代码:
!defaults.slideshowWidth ? defaults.slideshowWidth = obj.find('img').width()+'px' : null;
Run Code Online (Sandbox Code Playgroud) 我正在使用jQuery 1.7.1
我刚开始使用JavaScript三元运算符来替换简单的if/else语句.我在几个地方成功地做到了.当我成功地做出其他工作的时候,当我确信它不会,但我还是试着,我感到很惊讶.
这是原始声明:
function updateItem() {
$this = $(this);
var IsChecked = $this.hasClass("IsChecked");
if (IsChecked == true){
removeItem($this);
} else {
addItem($this);
}
}
Run Code Online (Sandbox Code Playgroud)
这是使用三元运算符的相同函数:
function updateItem() {
$this = $(this);
var IsChecked = $this.hasClass("IsChecked");
(IsChecked == true) ? removeItem($this) : addItem($this);
}
Run Code Online (Sandbox Code Playgroud)
我很惊讶,因为我看到的所有示例都只是设置这样的变量:
x = (1 < 2) ? true : false;
Run Code Online (Sandbox Code Playgroud)
我的问题是这是否是"正常"使用,它是否适用于大多数JavaScript版本?它会在哪里失败?还有其他不太明显的用途吗?
更新 - 感谢"现实世界"的建议!
我用它作为我的功能:
function updateItem() {
$this = $(this);
$this.hasClass("IsChecked") ? removeItem($this) : addItem($this);
}
Run Code Online (Sandbox Code Playgroud)