JS的简写为if else

时间:2014-03-03 10:38:23

标签: javascript shorthand

我正在努力提高我的编码技能,但我似乎无法弄清楚这一点。如何以速记方式写下以下内容?

/* fade */
$('.toggle-ui').on({
    'click': function (e) {
        e.preventDefault();
        var divToFade = ['#logo', '#hide-interface'];

        $.each(divToFade, function(intValue, currentElement) {
            // check alpha state and switch
            var currOp = $(currentElement).css('opacity');

            if (currOp == 1) $(currentElement).css('opacity', 0.5);
            if (currOp == 0.5) $(currentElement).css('opacity', 1);
        });
    }

2 个答案:

答案 0 :(得分:7)

使用ternary operator

$(currentElement).css('opacity', currOp == 1 ? 0.5 : 1);

作为旁注:我习惯使用===而不是==来避免意外类型强制造成的意外错误。要在此处使用它,我会通过currOp+解析为一个数字:

$(currentElement).css('opacity', +currOp === 1 ? 0.5 : 1);

有关详细信息,请查看here

答案 1 :(得分:2)

你也可以做简单的数学运算:

$(currentElement).css('opacity', 1.5 - currOp);

由于

1.5 - 1.0 = 0.5
1.5 - 0.5 = 1.0