javascript - jsの算術問題、解決してください~~
大家讲道理
大家讲道理 2017-05-19 10:37:30
0
5
473

"1"- -"1";

上記の操作の結果は 2 です。真ん中のスペースを省略すると、エラーが報告されます。スペースがある場合、結果は 2 になります。誰かが理由を分析していただけますか?

ありがとう~~

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

全員に返信(5)
某草草

減算演算を実行するとき、js は演算を実行できるように両側の式を数値に変換しようとし (小さなエラー修正動作)、1-(-1) となり、結果は 2 になります。
スペースなしで報告されたエラーに関しては、完全に文法上のエラーです。 。
そして、これはエラーであり、定数に変更されたとしても、構文が間違っています。 に変更された場合、パーサーはエラーを修正する方法さえ知りません。あなたにとって a-(-b) ですか? それは直接破壊します -- そしてロジックを破壊します
あなたが a---b をしない限り、パーサーはそれを (a--)-b にすることができますが、この方法ではの文章もとても面白いです。もしかしたらあなたが表現したいのはa-(--b)なのかもしれません

パーサーは、意味が比較的明確である (と考えられる) 場合にのみいくつかの修正を行います。 ''-'' と同様に、JS では数値のみが減算をサポートするため、数値でない場合は数値に変換されます。ただし、「+」と「0+」。この場合、最初の式に基づいて修正する必要があります。そうしないと、文字列の連結を行っているのか加算を行っているのかがわかりません。 - を - - に変更すると、次のようになります。残念ながら、これは完全に破壊的なエラー修正であり、絶対に実行できません。

この種のことにあまりこだわりすぎないでください。これはエンターテイメントの質問です。 。実際にコーディングするとなると、正気の人間ならこんなことはしないと思います

いいねを押す +0
仅有的幸福
  1. 2つの-の間にスペースがある場合、@ Die Fattyが回答したように、マイナス記号とみなされます。両側の文字列は数値に変換され、1 から -1 を引くと 2 になります。

  2. スペースのない 2 つの
  3. -- 演算子になり、これは自己減分演算であり、変数にのみ使用できます。この表記を数値に適用すると、間違いなくエラーが発生します。信じられないなら、試してみてください

    リーリー -没有空格,就变成了--

いいねを押す +0
Ty80

1- -1 は 1-(-1) と同等です

いいねを押す +0
为情所困

-"1" は単項演算であり、文字列を -1 に変換します。1-(-1) と比較すると、2 が得られます。

スペースがない場合、パーサーは構文エラーを報告します。

いいねを押す +0
刘奇

まず、スペース演算子、マイナス演算子、負の値演算の 2 つの演算子があり、後者の方が前者よりも優先されます。 -「1」は暗黙的に -1 に変換されます
さらに、@deepcoming が言ったように、「定数」は自動インクリメントおよび自己デクリメント操作を実行できません

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!