我明白了什麼是填零右移並導致它產生非常清楚了,當第二個操作數爲非零:>>>(填零右移)當第二OPRAND爲零
-7 >>> 1
2147483644
比較與
-7 >> 1
-4
但是,當第二個操作數是零:
-7 >> 0
-7 // Looks right!
-7 >>> 0
4294967289 // What? Why?
如果我轉向零位,並不意味着我根本不轉移?如果是這樣的話,它不應該讓我回到原來的數字嗎?我希望-7 >>> 0 === -7
而且還
-7 >>> 32
4294967289
再次,根據定義,我會期望-7 >>> n === 0 where n >= 32
因爲所有的數字變成零!
https://stackoverflow.com/questions/1822350/what-is-the-javascript-operator-and-how-do-you-use-it – DAle
@ DAle有幫助。規範給出了確切的機制。見下文 – Boyang