我发现自己写了很多类似的代码:
$('.selector').addClass(condition ? 'class' : '');
我知道这可能是愚蠢和愚蠢的,但我只是好奇,如果有一种方法可以做到这一点没有Javascript中的错误条件.我环顾四周,并没有找到任何可以做到这一点的运算符,但我可能(并希望我)错了.
我不一定想优化我的代码,这只是好奇心:)
谢谢.
解决方法:
JavaScript和&& operator short-circuits.你会看到许多脚本和库中常用的东西:
condition && $('.selector').addClass('class');
或者正如mgibsonbr的评论所述,你可以简单地和&&在方法本身内:
$('.selector').addClass(condition && 'class');
然而,它并不那么直观,因为并不是一个众所周知的事实,即&& amp;当两个值都是真实的时,b在JavaScript中导致b,而在其他语言中则不然.