26
A
回答
23
對於字符串和數字都定義了「+」運算符,因此當您將它應用於字符串和數字時,數字將被轉換爲字符串,然後將字符串連接起來: '7'+ 4 >'7'+'4'=>'74' 但' - '僅限於數字而不是字符串,所以字符串'7'將被轉換爲數字: '7' - 4 => 7 - 4 => 3
15
+
運算符在JavaScript中被重載以執行連接和添加。 JavaScript決定執行哪個操作的方式取決於操作數。如果其中一個操作數不是Number
(或原始類型number
),則兩者都將被轉換爲字符串進行串聯。
3 + 3 = 6 3 + '3' = 33 '3' + 3 = 33 (new Object) + 3 = '[object Object]3'
的-
運營商,然而,這只是對數字,因此操作數總是在操作過程中被轉換爲數字。
29
+
是字符串連接運算符,因此當您執行'7' + 4
時,您會將4
強制爲一個字符串並添加它。 -
運營商沒有這種含糊不清的地方。
如果你想成爲明確的使用parseInt()
或parseFloat()
:
parseInt('7', 10) + 4
爲什麼指定基數,以10?因此'077'
未被解析爲八進制。
2
因爲+是濃度,如果要添加兩個數字,你應該分析他們先parseInt函數()和 - 號是減法
2
符號+ Javascript中被解釋爲串聯第一,然後另外,由於第一部分是字符串('7')的事實。因此解釋器將第二部分(4
)轉換爲字符串並將其連接起來。
至於'7' - 4
,除了減法之外沒有其他含義,因此減法完成。
相關問題
- 1. 爲什麼-10 // 3給-4?
- 2. 爲什麼「\ 9」給「9」而「\ 7」爲空?
- 3. 模數運算,爲什麼4%12給出數字4?
- 4. XCode 4不給出輸出
- 5. 爲什麼5> 4> 3!=(5> 4 && 4> 3)在Javascript中爲true?
- 6. 爲什麼7%-5給出2但是-7%5給出-2?兩種情況下都不應該是-2嗎?
- 7. Java 7 ATOMIC_MOVE給出例外
- 8. 爲什麼這個程序輸出4,而不是3?
- 9. 這個小提琴爲什麼會給出4的結果?
- 10. 爲什麼JavaScript給出這個錯誤?
- 11. Eclipse中的JUnit 4給出NullPointerException異常
- 12. 爲什麼在Ruby中-7 mod 3 = 2?
- 13. 什麼應該「,7-6-5-4-3-2-1,」。split(',')return?
- 14. 在csh中,爲什麼4 - 3 + 1 == 0?
- 15. Laravel在centos 7上給出500內部錯誤apache和php 7
- 16. 爲什麼parseInt函數(08 ')被給予0,而parseInt函數(07')是給7
- 17. 爲什麼'FactoryGirl.lint'給出InvalidFactoryError?
- 18. 爲什麼在php中給出0?
- 19. 讓java給出4個數中最高的3個數
- 20. 爲什麼輸出是「In foo,a = 7」?
- 21. TypeError:randint()需要3個位置參數,但有4個被給出
- 22. Drupal 7自定義模塊給出403
- 23. __init __()恰恰1個參數(7給出)
- 24. DateTime2(7)給出0填充值
- 25. Xcode 7測試版給出錯誤。
- 26. WebBrowserTask給出了錯誤的Windows Phone 7
- 27. Drupal 7 CTools Upgrade給Ajax彈出錯誤
- 28. NSAttributedString boundingRectWithSize給出的iOS 6和iOS 7
- 29. Django監視器 - get_model()至多需要3個參數(4給出)
- 30. 在Delphi 7中,爲什麼我可以給const賦值?
尼斯que diecho。 – 2010-06-16 15:04:33