javascript - if else 的 JS 简写

标签 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);
        });
    }

最佳答案

使用 ternary operator :

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

附带说明:我习惯于在 == 上使用 === 以避免意外类型强制导致的意外错误。要在这里使用它,我会通过 +currOp 解析为一个数字:

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

有关更多信息,请查看here .

关于javascript - if else 的 JS 简写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22144490/

相关文章:

PHP:数组访问简写?

javascript - 翻转 boolean 变量的简写

javascript - 我的函数没有在 JavaScript 中运行

symfony - 如何在 Symfony2 中将 `MyAcmeBundle:User` 解析为 `My\AcmeBundle\Entity\User`?

javascript - 如何通过订单号定位弹性项目?

javascript - Emberjs v4 无法复制对象

css - 为什么 CSS 中没有宽度和高度的简写属性?

css - 使用字体速记属性设置其他字体属性时,保持多个标题的浏览器默认字体大小

javascript - _co.JSON 未定义 - Angular

javascript - Angular 2 属性注释不编译