我能找到的运算符优先级表如下:
https://developer.mozilla.org/en/JavaScript/Reference/Operators/Operator_Precedence
根据这个表格,'>>'和'*'都是从左到右结合的,而'>>'的优先级更高,因此我认为a >> b * c应该解释为(a >> b) * c。然而,在Firefox中进行测试(使用Firebug),告诉我:
0x11 >> 1 .... 8
0x11 >> 1 * 2 .... 4
这让我很困惑,它应该是16吗?
好的,我知道在优先级不清楚的情况下我们应该使用括号,但是是否有一个规则或解释来说明正在发生什么?