解释一下 JavaScript 中的按位运算符?
javascriptobject oriented programmingprogramming
按位运算符包括 AND、OR、XOR。我们来分别讨论一下。
a) AND 运算符
示例
<html> <body> <p id="and"></p> <script> document.getElementById("and").innerHTML = 13 & 1; </script> </body> </html>
输出
1
解释:当同一位置有两个 1 时,按位与运算得出的值为 1。在上面的例子中,二进制 1101 中的 13 和二进制 0001 中的 1。因此,比较两者时,我们在第一个位置只有一个共同的 1。因此值为 0001,即 1。
b) 或运算符
示例
<html> <body> <p id="or"></p> <script> document.getElementById("or").innerHTML = 5 || 1; </script> </body> </html>
输出
5
解释:当其中一个数字为 1 时,按位或运算结果为 1。在上面的例子中,5 的按位表示法为 0101,而 1 为 0001,因此值将为 0101,即 5。
c) XOR 运算符
示例
<html> <body> <p id="xor"></p> <script> document.getElementById("xor").innerHTML = 5 ^ 1; </script> </body> </html>
输出
4
解释:按位异或运算在位不同时返回 1,否则返回 0。在上面的例子中,5 位表示法为 0101,1 为 0001。因此结果为 0100,即 4。