相关疑难解决方法(0)

JavaScript中的问号和冒号

我遇到了以下几行

hsb.s = max != 0 ? 255 * delta / max : 0;
Run Code Online (Sandbox Code Playgroud)

什么的?,并:在这方面是什么意思?

javascript syntax operators conditional-operator

239
推荐指数
4
解决办法
19万
查看次数

带函数的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万
查看次数