JavaScript-数字和字符串比较大小

JavaScript-数字和字符串比较大小

JavaScript经常会比较字符串的大小,有的时候容易混淆,因此简单的梳理一下JavaScript字符串的比较:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//1.数字比较
console.log('数字比较:' + (12 <  3 )); //false
//2.字符串数字和数字比较 统一转换成数字进行比较
console.log('字符串数字和数字比较:' + (11 < '5')); //false
//3.字符串和数字进行比较 字符串为非纯数字时,则将非数字字符串转成数字的时候会转换为NaN,当NaN和数字比较时不论大小都返回false.
console.log('字符串和数字进行比较:' + (11 > 'FlyElephant')); //false
console.log('字符串和数字进行比较:' + (11 <'FlyElephant')); //false
//4.字符串数字比较 转换成ASCII码比较
console.log('字符串数字比较:' + ('11' < '5')); //fasle
console.log('11'.charCodeAt()); //49
console.log('5'.charCodeAt()); //53
//5.字符串比较 转换成ASCII码进行比较
console.log('字符串比较:' + ('博客园' < 'FlyElephant'));
console.log('博客园'.charCodeAt()); //21338
console.log('FlyElephant'.charCodeAt()); //70

通过上面的代码我们可以得出一个结论,字符串比较更倾向于转换成数字进行比较,只有两个操作数都是字符串的时候才会进行ASCII码转换进行比较~

你可能感兴趣的:(js)