簡體   English   中英

加法在 JavaScript 中不起作用

[英]Addition is not working in JavaScript

我正在嘗試學習 Javascript。 在這里,我對以下代碼感到困惑。

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

當我將x+y放入函數時,它出錯了。 例如2+2=22 , 5+7=57

但是/ , * , -正在工作。 為什么+不起作用? 請幫我。 非常感謝提前

一個或兩個變量是字符串而不是數字。 這使得+ do 字符串連接。

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

2 + 2 === 4;  // true

其他算術運算符/ * -將對字符串執行toNumber轉換。

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

將字符串轉換為數字的一種快速方法是使用一元+運算符。

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

...或者你的變量:

+x + +y

+有兩個用途。 一種是加法,另一種是字符串連接。 如果您的一個或兩個變量是字符串,則+將連接它們。

您將需要使用parseIntparseFloat將字符串轉換為數字。

在 Javascript 中, + 運算符可以根據其操作數的類型執行加法或連接。 當數字與 + 一起使用時,它使用加法,但當字符串與 + 一起使用時,它會連接(連接字符串)

如果您嘗試添加的數字是 10 和 12,如果它們的總和應該是 22,那么您可能應該這樣做

+10 + +12

如果其中一個或兩個數字是字符串,則結果可能是 1012 之類的字符串。

這每次都有效

((x*1) + (y*1))

一元加應該工作:

var totalVal = (+2) + (+2);

alert(totalVal);
// result 4

加法運算符的工作方式如下:
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 的加法運算符揭秘以獲取更多詳細信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM