Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/402.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript如何计算这个数学表达式_Javascript_Expression - Fatal编程技术网

JavaScript如何计算这个数学表达式

JavaScript如何计算这个数学表达式,javascript,expression,Javascript,Expression,为什么这个表达式的输出是20 我尝试过不同的计算,但结果总是24 请解释一下Javascript是如何计算这个表达式的 多谢各位 设A=2; 设B=4; 设结果=B+B*A+8; 控制台日志(结果)它的计算如下: 结果=4+4*2+8 由于是先点后行计算,所以在乘法运算的周围放了一个括号 像这样:4+(4*2)+8 它的计算结果是4+8+8,你不能说这是20 也许你们的计算器并没有先点后线的计算 希望我能帮忙。评估如下: 结果=4+4*2+8 由于是先点后行计算,所以在乘法运算的周围放了一个括

为什么这个表达式的输出是20

我尝试过不同的计算,但结果总是24

请解释一下Javascript是如何计算这个表达式的

多谢各位

设A=2;
设B=4;
设结果=B+B*A+8;

控制台日志(结果)它的计算如下:

结果=
4+4*2+8

由于是先点后行计算,所以在乘法运算的周围放了一个括号

像这样:
4+(4*2)+8

它的计算结果是
4+8+8
,你不能说这是20

也许你们的计算器并没有先点后线的计算


希望我能帮忙。

评估如下:

结果=
4+4*2+8

由于是先点后行计算,所以在乘法运算的周围放了一个括号

像这样:
4+(4*2)+8

它的计算结果是
4+8+8
,你不能说这是20

也许你们的计算器并没有先点后线的计算


希望我能帮忙。

我希望这有助于理解

设A=2;
设B=4;
设结果=(B+B)*A+8;
控制台日志(结果);//输出24
A=2;
B=4;
结果=B+(B*A)+8;

控制台日志(结果);//输出20
我希望这有助于理解

设A=2;
设B=4;
设结果=(B+B)*A+8;
控制台日志(结果);//输出24
A=2;
B=4;
结果=B+(B*A)+8;

控制台日志(结果);//输出20
它遵循PEMDAS的规则(表示意合、指数、乘法和除法、加法和减法)


这仅仅意味着乘法和除法的阶数比加法或减法的阶数“更高”。这意味着乘法和除法将首先发生在任何加法或减法之前

它遵循PEMDAS的规则(意合、指数、乘法和除法、加法和减法)


这仅仅意味着乘法和除法的阶数比加法或减法的阶数“更高”。这意味着乘法和除法将首先发生在任何加法或减法之前

4+4*2+8
=
4+(4*2)+8
=
4+8+8
=
20
--我不确定你期望的是什么。这只是基本的数学……如果你使用一个简单的计算器,一次只进行一个运算,你就是在做
((B+B)*a)+8
。当您一次执行所有计算时,它是
B+(B*A)+8
。这不仅限于JavaScript,甚至编程;看。嗨,斯科特,你可以看看这里的操作顺序,也许你想做的是,让结果=(B+B)*A+8
,看看jon的评论,在编程中操作顺序真的很重要
4+4*2+8
=
4+(4*2)+8
=
4+8+8
=
20
--我不确定你的期望是什么。这只是基本的数学……如果你使用一个简单的计算器,一次只进行一个运算,你就是在做
((B+B)*a)+8
。当您一次执行所有计算时,它是
B+(B*A)+8
。这不仅限于JavaScript,甚至编程;看。嗨,斯科特,你可以看看这里的操作顺序,也许你想做
让结果=(B+B)*A+8
,看看jon的评论,在这个例子中,操作顺序在编程中非常重要,
B*A
操作将首先发生,因为它优先于等式中的加法运算。在本例中,
B*A
操作将首先发生,因为它优先于等式中的加法运算。