相关疑难解决方法(0)

JavaScript中的三元运算符没有"Else"

我总是不得不放入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)

javascript optimization syntax-error

125
推荐指数
6
解决办法
11万
查看次数

带函数的JavaScript三元运算符示例

我正在使用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)

javascript jquery

91
推荐指数
5
解决办法
14万
查看次数

标签 统计

javascript ×2

jquery ×1

optimization ×1

syntax-error ×1