当前位置: 首页 > 知识库问答 >
问题:

如何切换布尔值?

南宫嘉
2023-03-14

在JavaScript中切换布尔值有什么简单的方法吗?

到目前为止,除了编写自定义函数之外,我所拥有的最好的函数是三元函数:

bool = bool ? false : true;

共有2个答案

桂志诚
2023-03-14

如果您不介意将布尔值转换为数字(即0或1),则可以使用按位异或赋值运算符。例如:

bool ^= true;   //- toggle value.


如果使用较长的描述性布尔名称,这一点尤其好,例如:

var inDynamicEditMode   = true;     // Value is: true (boolean)
inDynamicEditMode      ^= true;     // Value is: 0 (number)
inDynamicEditMode      ^= true;     // Value is: 1 (number)
inDynamicEditMode      ^= true;     // Value is: 0 (number)

这对我来说比在每一行中重复变量更容易扫描。

这种方法在所有(主要)浏览器(和大多数编程语言)中都起作用。

汝吕恭
2023-03-14
bool = !bool;

这在大多数语言中都成立。

 类似资料:
  • 问题内容: 我有一个表单,用于答复仅在为true 时才想显示的消息,每次单击答复按钮时,我都希望切换是否显示该表单。我怎样才能做到这一点? 问题答案: 您只需要在ng-click事件上切换“ isReplyFormOpen”的值

  • 我已经可以从应用程序中的资源包获取消息,但我需要从表上的布尔属性显示国际化的值。

  • 问题内容: 我有一个布尔变量,我想将其转换为字符串: 我需要转换后的值的格式为:,而不是 我试过了: 但是它告诉我,并且不是公认的功能。 如何将此布尔值转换为PHP 或PHP 格式的字符串? 问题答案: 最简单的解决方案:

  • 我正在尝试将一个PostgreSQL表迁移到一个包含所有数据的MySQL,但由于有两列,我无法迁移。这些列在Postgresql表中作为布尔值,并且这些列中的值为TRUE或FALSE(看起来像字符串)。我在MySQL中创建了一个布尔列,但它不接受真/假数据。对于这些真/假值,我应该使用什么来代替布尔值?我尝试了tinyint(4),但它不起作用(我必须迁移数据,因为它是真的或假的,而不是t/f或1

  • 我习惯了C / Java,我可以在哪里使用?:如: 由于Go没有三元运算符,如何在go中执行此操作?

  • (是的,得墨忒尔定律,我知道)。 所以我想知道,有没有一种语言具有一元布尔切换运算符,允许我缩写而不重复的表达式,例如 让我们假设我们的语言有一个适当的布尔类型(就像C++中的)并且属于这种类型(因此没有C样式的)。