JavaScript中除法与乘法优先级疑问:无括号为何结果一致?
乘法与除法的优先级问题解答
嘿,这个疑惑太正常了!其实在JavaScript里,乘法(*)和除法(/)的优先级是完全相同的,当它们连续出现时,会按照从左到右的顺序执行计算——这就是所谓的“左结合性”。
你给出的两个代码示例:
let calculate = 16 / 30 * 100;
和
let calculate = (16 / 30) * 100;
本质上是同一个计算逻辑:先算左边的16 / 30,再把结果乘以100。因为本来就是按左到右的顺序执行,加括号只是明确了这个默认顺序,并没有改变计算逻辑,所以结果自然完全一致。
如果换个场景,比如混合了加减和乘除(加减优先级低于乘除),括号才会真正改变结果。比如16 + 30 * 100和(16 + 30) * 100结果就天差地别——前者先算乘法,后者先算加法。
总结一下:乘除优先级相同,执行顺序从左到右,所以你这两种写法的计算过程没有任何区别,结果当然一样啦!
内容的提问来源于stack exchange,提问作者Zero
相关产品推荐
相关产品推荐

