我能找到的运算符优先级表是:
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 吗?
好的,我知道当优先级不清楚时我们总是应该使用括号,但是应该有一个规则或解释正在发生的事情?