数字字符串比较如下:
- = '10000000'
- = '5000000'
a>b输出false a-b>0输出true
为什么是这个结果
a>b
是进行了字符串比较,而a-b>0
是先进行了隐式数据转换,这时候类型已经变成number
类型了。 关于-
减号的隐式数据转换已可以搜索一下,网上有很多的介绍,包括JavaScript的教程上也是有的
a= '10000000'
b= '5000000'
a>b输出false: 因为此时比较的还是字符串,字符串类型比较大小是先比较第一位的值,比较第一位的时候1<5,所以false
a-b>0输出true : '-'把a和b隐式转换成了number类型,此时比较的就是两个数字10000000和5000000了,所以true
10 回答11.2k 阅读
5 回答4.9k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
3 回答2.4k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
这是JavaScript中隐式转换的关系,首先在比较的时候,二者是按照string的形式进行比较的,那么比较第一位的时候,1 < 5,直接返回false,而 a - b会把两个数转成number类型进行比较,转换完之后输出就是true。可以仔细看看隐式转换这一块。