簡體   English   中英

添加和減去數字作為字符串

[英]Adding and Subtracting Numbers as Strings

我在關於SO的問題上閱讀了以下內容:

'7'+ 4給出'74',而'7' - 4給出了JavaScript

為什么會這樣?

+是字符串連接運算符,因此當你執行'7' + 4你將4強制轉換為字符串並附加它。 -運算符沒有這種模糊性。

如果你想明確無誤,請使用parseInt()parseFloat()

parseInt('7', 10) + 4

為什么將基數指定為10? 因此'077'不會被解析為八進制。

'+'運算符是為字符串和數字定義的,所以當你將它應用於字符串和數字時,數字將被轉換為字符串,然后字符串將被連接:'7'+ 4 =>'7' +'4'=>'74'但' - '僅為數字而非字符串定義,因此字符串'7'將轉換為數字:'7' - 4 => 7 - 4 => 3

+運算符在JavaScript中重載以執行連接和添加。 JavaScript確定要執行哪個操作的方式基於操作數。 如果其中一個操作數不是Number (或number基本類型),則兩者都將被轉換為字符串以進行連接。

3 + 3 = 6
3 + '3' = 33
'3' + 3 = 33
(new Object) + 3 = '[object Object]3'

但是, -運算符僅用於數字,因此操作期間操作數將始終轉換為數字。

因為+是濃度,如果你想要添加兩個數字,你應該首先解析它們parseInt()和 - 符號用於減法

由於第一部分是字符串('7'),Javascript中的符號+首先被解釋為連接然后加法。 因此,解釋器將第二部分( 4 )轉換為字符串並將其連接起來。

對於'7' - 4 ,除了減法之外沒有其他意義,因此減法完成。

暫無
暫無

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

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