在javascript中设置1=0和0=1

在javascript中设置1=0和0=1,javascript,Javascript,这个问题有点抽象,但我想知道一种更简洁的写作方式: if( i.css('opacity') == 1 ) o = 0; else o = 1; 因此,如果某物==1,则使另一个=0,如果某物==0,则使另一个=1 一定有某种乘法,我可以在某个东西上实现这一点?我的数学糟透了。使用 试试绝对值。0-1=-1和1-1=0。绝对值函数将-1转换为1 Math.abs(o - 1); 大多数情况下都会产生相同的效果,即使它不是1或0而是一个布尔值。假设opacity为1或0+

这个问题有点抽象,但我想知道一种更简洁的写作方式:

if( i.css('opacity') == 1 ) 
    o = 0; 
else 
    o = 1;
因此,如果
某物
==1,则使
另一个
=0,如果
某物
==0,则使
另一个
=1

一定有某种乘法,我可以在
某个东西上实现这一点?我的数学糟透了。

使用


试试绝对值。0-1=-1和1-1=0。绝对值函数将-1转换为1

Math.abs(o - 1);

大多数情况下都会产生相同的效果,即使它不是
1
0
而是一个布尔值。假设
opacity
1
0

+!0等于1,
+!1等于0。您只需键入
o=+!i、 css(“不透明度”)


欢迎来到JavaScript的古怪世界

一个简短的解决方案是:

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

var-other=something==1?0 : 1;?布尔强制为数字1表示真,0表示假。所以只需对布尔结果进行一个求反的数值转换<代码>o=+!(i.css.('opacity')==1)
内联if可以做到这一点。你正在做需要做的事情。你为什么想要一个乘法过程?你并不是真的想让1=0和0=1,因为这是不可能的。我到底为什么没有想到这一点?令人尴尬的我累了。谢谢!»欢迎来到JavaScript的古怪世界!是的,它是:@ ToMas-Frasts,虽然我必须尝试它,它也在C和C++中工作-所以这是一个微小的错误归因于我的愚蠢。不要告诉别人;-)
o = !i.css('opacity');
o=~~!(i.css('opacity'));