在javascript中使1 = 0和0 = 1

时间:2014-07-24 14:01:01

标签: javascript

略有抽象的问题,但我有兴趣知道一种更简洁的写作方式:

if( i.css('opacity') == 1 ) 
    o = 0; 
else 
    o = 1;

因此,如果something == 1,请another = 0,如果something == 0,请another = 1

我必须在something上进行某种乘法来实现这一目标吗?我的数学很糟糕。

5 个答案:

答案 0 :(得分:7)

使用ternary operator

o = (i.css('opacity') == 1) ? 0 : 1;

答案 1 :(得分:4)

+!0生成1,+!1生成0.您只需输入o = +!i.css('opacity')

欢迎来到古怪的JavaScript世界!

答案 2 :(得分:2)

o = !i.css('opacity');

大部分都会产生相同的效果,即使它不是10而是布尔值。假设opacity10

答案 3 :(得分:1)

简短的解决方案是:

o=~~!(i.css('opacity'));

答案 4 :(得分:0)

尝试绝对值。 0 - 1 = -1且1 - 1 = 0.绝对值函数使-1变为1。

Math.abs(o - 1);