[英]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
+
有兩個用途。 一種是加法,另一種是字符串連接。 如果您的一個或兩個變量是字符串,則+
將連接它們。
您將需要使用parseInt
或parseFloat
將字符串轉換為數字。
在 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.