javascript – 如果值为true,是否只有内联运算符才会执行某些操作?

我发现自己写了很多类似的代码:

$('.selector').addClass(condition ? 'class' : '');

我知道这可能是愚蠢和愚蠢的,但我只是好奇,如果有一种方法可以做到这一点没有Javascript中的错误条件.我环顾四周,并没有找到任何可以做到这一点的运算符,但我可能(并希望我)错了.

我不一定想优化我的代码,这只是好奇心:)

谢谢.

解决方法:

JavaScript和&& operator short-circuits.你会看到许多脚本和库中常用的东西:

condition && $('.selector').addClass('class');

或者正如mgibsonbr的评论所述,你可以简单地和&&在方法本身内:

$('.selector').addClass(condition && 'class');

然而,它并不那么直观,因为并不是一个众所周知的事实,即&& amp;当两个值都是真实的时,b在JavaScript中导致b,而在其他语言中则不然.

上一篇:PHP中的\u0026\u0026运算符


下一篇:如何覆盖C类中的bool运算符?