當我嘗試解析像這樣的一些字符串類型數值:爲什麼parseInt函數刪除下劃線
a = parseInt("5")
然後a
等於5
。
如果我嘗試解析字符串,像這樣:
a = parseInt("A")
那麼我的回答是NaN
。
但是,當我嘗試解析此:
a = parseInt("1492515425322_1")
然後a
等於1492515425322
。
爲什麼不是NaN
?
當我嘗試解析像這樣的一些字符串類型數值:爲什麼parseInt函數刪除下劃線
a = parseInt("5")
然後a
等於5
。
如果我嘗試解析字符串,像這樣:
a = parseInt("A")
那麼我的回答是NaN
。
但是,當我嘗試解析此:
a = parseInt("1492515425322_1")
然後a
等於1492515425322
。
爲什麼不是NaN
?
因爲它基本上會嘗試解析字符串,並且會返回_
之前的所有數字。如果你想知道整個字符串是否是一個數字,你可以使用Number("1492515425322_1")
,它會返回NaN。
根據MDN:
如果parseInt函數遇到字符不指定基數的數字,它忽略它和所有後續字符,並返回解析到該點的整數值。 parseInt將數字截斷爲整數值。前後空格是允許的。
因此parseInt()
將解析字符串,直到它遇到任何不是數字的東西,並忽略其餘部分。隨着"A"
第一個字符是非數字的,所以根本沒有任何東西可以被解析。
它記錄的行爲: https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/parseInt
的parseInt函數功能第一個參數轉換爲字符串,解析 它,並返回一個整數或NaN。如果不是NaN,則返回的值將是 是作爲 指定基數(基數)中的數字的第一個參數的整數。
https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/parseInt – Rayon
「如果parseInt遇到不是指定基數中的數字的字符,它會忽略它並忽略所有後續字符並返回解析到該點的整數值。「 – Thilo
讓我們來談談javascript .... https://www.destroyallsoftware.com/talks/wat – 2017-04-18 12:02:37