首页  >  文章  >  web前端  >  波形符运算符如何影响 JavaScript 中的条件表达式?

波形符运算符如何影响 JavaScript 中的条件表达式?

Susan Sarandon
Susan Sarandon原创
2024-11-27 20:54:14216浏览

How Does the Tilde Operator Affect Conditional Expressions in JavaScript?

前面带有波形符运算符的条件表达式

在 JavaScript 中,波形符 (~) 运算符可以位于表达式之前以执行按位求反。使用条件表达式时,此运算符可以有特定用途。

示例代码:

var attr = ~'input,textarea'.indexOf( target.tagName.toLowerCase() )
           ? 'value'
           : 'innerHTML'

说明:

如果未找到目标值,indexOf() 函数将返回 -1。通过使用 ~ 运算符求反该值,我们可以有效地将其转换为匹配的真值(任何非零值)和非匹配的假值 (-1)。

按位运算:

在 JavaScript 中,数字在内部表示为 32 位整数。 ~ 运算符翻转其操作数中的所有位,有效地反转它们。

例如,如果 'input,textarea'.indexOf( target.tagName.toLowerCase() ) 的值为 1(代表字符'i'),其二进制表示为:

0000 0000 0000 0000 0000 0000 0000 0001

应用 ~ 运算符翻转所有位,结果in:

1111 1111 1111 1111 1111 1111 1111 1110

在 2 的补码表示中,结果值为 -2。

条件结果:

在条件表达式中,值评估 ~'input,textarea'.indexOf( target.tagName.toLowerCase() ) 以确定是否将“value”或“innerHTML”分配给 attr 变量。如果找到目标,则表达式的计算结果将为真,从而将“值”分配给 attr。否则,如果未找到目标,则表达式将计算为假,导致“innerHTML”被分配给 attr。

以上是波形符运算符如何影响 JavaScript 中的条件表达式?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn