JS中数字与字符串是如何进行大小比较的?

JavaScript语言中数字(Number)和字符串(String)是如何进行大小比较的呢?

喜欢这个问题 | 分享 | 新建回答

回答

东方不败

Dec 7, 2018
0 赞

字符串与数字进行比较时,字符串会自动转成数字后再进行比较。

空的字符串会转为0,无法转换成数字的字符串则会成为NaN,因此数字和无法转换成数字的字符串进行比较,结果经常为false。


示例如下:

419 < "666" 结果为true

419 < "666.66" 结果为true

"666" < "666.66" 结果为true

666 == "666" 结果为true

419 > "" 结果为true(空字符串会转为0再比较)


以下示例都是因为字符串(String)属于不能转换成数字(Number)而结果为false:

666 < "999。9" 结果为false

666 == "6 6 6" 结果为false

666 > "反清复明" 结果为false