gpt4 book ai didi

javascript - 为什么这个 "4 | 2 | 4 | 1 | 10"在 JavaScript 中返回 15?

转载 作者:行者123 更新时间:2023-11-30 07:05:53 24 4
gpt4 key购买 nike

我只是在试验并尝试将其放入控制台:

4 | 2 | 4 | 1 | 10

在控制台中返回 15..

4 | 2 | 4 | 3 | 1

在控制台中返回 7..

我在 Chrome 和 Firefox 上试过了。

为什么?

我刚开始学习 JavaScript...也许我在这里漏掉了一个概念?

最佳答案

JavaScript 中的 | 运算符是 bitwise integer OR operator .所以它对你给它的位进行 OR 运算,结果是 15。

A bitwise OR operation如果设置了该位置的输入位中的任一个,则获取值中的每一位并设置结果中的相应位。所以

4  is 0100 in binary2  is 00104  is 01001  is 000110 is 1010      ----      1111 = 15 decimal

更新:在对您的问题的评论中,您说过您期望的是 true 而不是 15。如果是这样,您需要逻辑 OR 运算符||,而不是按位运算符,尽管|| 的返回值可能会让您大吃一惊(4 || 2 || 4 || 1 || 10 = 4,不是 true),作为 JavaScript 的逻辑或 (||)是curiously powerful ,比许多其他语言更是如此。

关于javascript - 为什么这个 "4 | 2 | 4 | 1 | 10"在 JavaScript 中返回 15?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9388525/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com