22

私はJavascriptを学ぼうとしています。ここで私は次のコードと混同されています。

http://rendera.heroku.com/usercode/eae2b0f40cf503b36ee346f5c511b0e29fc82f9e

関数を入れるx+yとうまくいきません。たとえば2+2=225+7=57

しかし、、、/は機能*-ています。なぜ機能しないの+ですか?私を助けてください。よろしくお願いします

4

7 に答える 7

53

変数の一方または両方は、数値ではなく文字列です。これにより、+do文字列が連結されます。

'2' + 2 === '22';  // true

2 + 2 === 4;  // true

他の算術演算子は、文字列に対して変換/ * -を実行します。toNumber

'3' * '5' === 15;  // true

文字列を数値に変換する簡単な方法は、単項演算子を使用すること+です。

+'2' + 2 === 4;  // true

...または変数を使用して:

+x + +y
于 2011-12-04T18:06:22.813 に答える
8

+2つの用途があります。1 つは加算ですが、もう 1 つは文字列連結です。変数の一方または両方が文字列の場合、+それらを連結します。

parseIntまたはを使用parseFloatして、文字列を数値に変換する必要があります。

于 2011-12-04T18:08:16.240 に答える
3

Javascript では、+ 演算子は、そのオペランドの型に応じて加算または連結を実行できます。数値が + で使用される場合は加算を使用しますが、文字列が + で使用される場合は代わりに連結 (文字列を結合) します。

于 2011-12-04T18:08:12.010 に答える
1

これは毎回動作します

((x*1) + (y*1))
于 2014-07-18T04:32:16.067 に答える
0

加算演算子は次のように機能します
。1) 少なくとも 1 つのオペランドが文字列の場合、別のオペランドが文字列に変換され、連結が実行されます。

1 + "2"        // "12"
"2" + "3"      // "23"
"2" + null     // "2null", null is converted to "null"

2) それ以外の場合、両方のオペランドが数値に変換されます。

1 + null      // 2, null is converted to 0
1 + undefined // NaN, undefined is converted to NaN

詳細については、投稿JavaScript の加算演算子の説明を確認してください。

于 2016-01-04T15:09:06.123 に答える