JS的简写为if else

obm*_*mon 1 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);
        });
    }
Run Code Online (Sandbox Code Playgroud)

Den*_*nis 7

使用三元运算符:

$(currentElement).css('opacity', currOp == 1 ? 0.5 : 1);
Run Code Online (Sandbox Code Playgroud)

作为一个方面说明:我习惯使用=====,以避免意外的类型强制意外的错误.要在这里使用它,我会currOp通过+以下方式解析数字:

$(currentElement).css('opacity', +currOp === 1 ? 0.5 : 1);
Run Code Online (Sandbox Code Playgroud)

有关更多信息,请查看此处.

  • 同意!`.css()`返回一个字符串,因此它需要2` ==`来将字符串计算为int并进行比较. (2认同)
  • 如果你首先将`currOp`解析为一个数字,即用`+',你应该可以使用三个`=`.所以它会是`+ currOp === 1`.`==`会自动强制匹配的类型,而`===`则不会. (2认同)
  • @obmon这不是你改变的答案.评论并让作者在需要时修复,就像现在的情况一样. (2认同)
  • @SahilMahajanMj*改善*别人的答案是没有错的,除非你关心他的易感性......顺便说一下,obmon并没有令人反感. (2认同)