挖掘JS刚发现了一些新东西:
n = 0xffffffff
4294967295
n
4294967295
n << 1
-2
n * 2
8589934590
(n << 1) == (n * 2)
false
n + 1
4294967296
这是内置FireFox(51.0.1 64位)调试器的控制台输出...
到目前为止,我读过的东西(w3school等)不允许我怀疑这种行为。
可以吗?还是我错过了什么?
...To be continued...
最佳答案
n << b
handles n
and the result as int 32,而n * 2
handles n
and the 2
为number。
请注意4294967295 << 0
将是-1
。