今天項目遇到一個問題,js的字符串想要進行數字大小的比較,這裏看似很簡單,實際上有一個小陷阱在裏面,寫出來記錄一下。
例如
數字字符串比較如下:
- = '10000000'
- = '5000000'
a>b輸出false a-b>0輸出true
爲什麼是這個結果
js中的隱式轉換
這是JavaScript中隱式轉換的關係,首先在比較的時候,二者是按照string的形式進行比較的,那麼比較第一位的時候,1 < 5,直接返回false,而 a - b會把兩個數轉成number類型進行比較,轉換完之後輸出就是true。