javascript - 运算符(operator) "^"的目的是什么?

标签 javascript syntax

<分区>

Possible Duplicate:
What does the ^ operator do?

>>> var foo = [1,2]
>>> var bar = [3,4]
>>> foo ^ bar
0
>>> foo ^ 3
3
>>> 1^3
2

运算符的目的是什么:^?

编辑 1:你能解释一下原因吗

>>> foo ^ bar
0

?

最佳答案

1^3 的情况下,XOR 运算符会执行一些二进制操作以获得 2。

    1 = 00000001 ^
    3 = 00000011
        ========
        00000010 = 2

当您开始使用它进行数学运算时,JavaScript 会将数组语法 [x,y] 视为 NaNNaN 在您对其进行位运算时被解释为 0,因此 foobar 数学开始计算考虑到这一点:

foo => NaN = 00000000 ^
bar => NaN = 00000000
             ========
             00000000 = 0

foo => NaN = 00000000 ^
         3 = 00000011
             ========
             00000011 = 3

这似乎是正确的。 [1,2]^7 = 7, [1,2,3]^9 = 9

关于javascript - 运算符(operator) "^"的目的是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7835883/

相关文章:

c++ - 超出范围的局部变量......我认为

php - 如何使用另一个对象实例初始化 PHP 类的实例?

c - 如何根据成员名称在 C 中初始化结构体

java - 错误 : 'void' type not allowed here

javascript - 使用 jQuery 多日期选择器日历跳转到当前月份

javascript - 如何在 JQuery 中解析集合

javascript - 如何保持谷歌图表列和强制滚动条的大小?

javascript - c3js折线图所有未选择的数据如何显示刻度值

Javascript:格式化数字的更简单方法?

syntax - F# 创建和填充 FSharpx.Collections.Vector 的语法是什么?