2017-09-23 16 views
-1

私はプロジェクトがあり、非常に不思議なものが見つかりました。
私はa - 1 + 2をjavascriptコードで見つけました。それはa + 1と同じで、それと置き換えられると思いました。 しかし間違った答えをしています。 の場合javascriptのa + 1とa-1 +2の違いは何ですか

a = 1 => a -1 +2 = 2 
     => a + 1 = 11 

誰でもこの問題について説明できますか?

+2

'a'は文字列です... – Li357

+0

これはHTML入力オブジェクトですが、どのようにしてhtmlオブジェクトに整数だけを設定できますか? –

+0

'+ a + 1'を使って、' a'が数字に変換されていることを確認できます。 JavaScriptには、文字列を数値に変換するいくつかの方法があります。 – 4castle

答えて

6

aは文字列です。 +は追加または文字列連結を意味する可能性があるため、ここに表示されています。 JavaScriptでは、文字列である少なくとも1つの加数がある場合、両方のオペランドが強制的に文字列に変換され、連結されます。したがって"1" + 1"11"です。しかし、JavaScriptでは、 - 1つの意味、減算しかありません。したがって、両方のオペランドを数値に変換し、減算します。減算との連結は起こらないため、差異が生じます。

だけ追加する前に、整数にaを強制:

+a + 1 

をここでは、単項+は、暗黙的に数値にaを変換します。

+0

ありがとう、私は解決策を得た。 –

関連する問題