2017-07-29 21 views
0

私はjavascriptを初めて使っているので、基本的な見解を見て、式の評価をしました。通常、式は「括弧、指数、掛け算、除算、加算、減算など」の評価を受けます。JavaScriptの式評価

マイサンプル表現は「2 + 10-19 + 4-90 + 1

私の理解ではない年代がそう減算にわたって添加の優先度に基づいて加算を実行する最初の上記式であります"12-23-91"となり、結果は "-80"となりますが、式の出力を確認して "-92"を返します。

この結果がどのように導出されたかを説明し、javascriptエンジンによる表現を評価する際の私の理解を訂正してください。

+3

これは数学であり、人間のように左から右に実行されます。無関係ですが、12-23-91は-80ではなく-102になります。 –

+2

'減算による加算の優先順位' - この信念はどこから来たのですか? –

+0

@DaveNewton - だから '2 + 3 * 4'は...? –

答えて

2

加算と減算は同じ優先順位(優先順位)を持ち、左から右のどちらが先に実行されます。

=2+10-19+4-90+1 
=12-19+4-90+1 
=-7+4-90+1 
=-3-90+1 
=-93+1 
=-92 

同じことが乗算および除算にあります。それらは左から右のいずれかが最初に起こるかのどちらかで実行されます。 さらに詳しい例については、このページのものを試してみてください。 https://www.w3schools.com/js/js_arithmetic.asp

+0

なぜあなたはこのような質問に答えるのですか?それは数学であり、JavaScriptではありません。 –

+0

プログラミングでは、演算子の優先順位が重要な役割を果たしているからです。上記の式で、マイナスの代わりに乗算があると仮定すると、最初に評価されてから追加が行われます。 –

1

+-の演算子の優先順位は同じで、左から右の優先順位に従います。

2+10-19+4-90+1 
=12-19+4-90+1 
=-7+4-90+1 
=-3-90+1 
=-92 

あなたはJavascript here全体演算子の優先順位を読むことができる:だから同じ優先レベルであること、それは次のように-92に答える与えました。