首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有人能给我解释一下"|“符号在Javascript中的作用吗?

有人能给我解释一下"|“符号在Javascript中的作用吗?
EN

Stack Overflow用户
提问于 2013-05-25 17:32:28
回答 2查看 176关注 0票数 1

是干什么的呢?

一开始,我认为这是做Math.max()的一种快捷方式

每次我运行(1 | 0)(0 | 2985235)时,我都会得到更大的数值。

然而,我错了,因为当我用这个例子发布这个问题时我很快就发现了:

不求值为256(128|256|0)

感谢你有帮助的回复。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-05-25 17:38:46

|是一个bitwise OR运算符。要了解它的作用,请考虑数字的二进制形式:

代码语言:javascript
复制
128 = 010000000
256 = 100000000
0   = 000000000

结果是逐位执行OR得到的

代码语言:javascript
复制
384 = 110000000

我猜您可能会在表示选项的逻辑中遇到此模式。例如,

代码语言:javascript
复制
128 = option 1
256 = option 2
384 = both option 1 & 2
票数 3
EN

Stack Overflow用户

发布于 2013-05-25 17:39:49

|是Javascript中的位运算符。因此,在计算这些整数之前,首先将它们转换为二进制。

代码语言:javascript
复制
  0 -> 000000000
128 -> 010000000
256 -> 100000000

根据您的数据类型,可能会有更多的前置零。无论如何,|作为按位OR运算符,将计算这两个整数中的每一位。

所以你会得到110000000,也就是十进制的384。

附注:或运算:如果其中任何一个成立,则为真。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16748220

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档