我只是在尝试并尝试将其放入控制台:
4 | 2 | 4 | 1 | 10
Run Code Online (Sandbox Code Playgroud)
在控制台中返回15 ..
4 | 2 | 4 | 3 | 1
Run Code Online (Sandbox Code Playgroud)
在控制台中返回7 ..
我在Chrome和Firefox上试过了.
为什么?
我刚开始学习JavaScript ......也许我在这里错过了一个概念?
在|JavaScript中操作是按位的整数或运营商.所以它正在对你给它的位进行OR运算,结果为15.
如果该位置中的任何一个输入位置位,则按位OR运算取值中的每一位并设置结果中的相应位.所以
4 is 0100 in binary
2 is 0010
4 is 0100
1 is 0001
10 is 1010
----
1111 = 15 decimal
更新:在你的问题评论中,你已经说过你期待true而不是15.如果是这样,你需要逻辑 OR运算符,||而不是按位运算符,虽然||也可能会让你惊讶于它返回的内容(4 || 2 || 4 || 1 || 10 = 4而不是true),因为JavaScript的逻辑OR(||)非常强大,比许多其他语言更强大.