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

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

    //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码转换进行比较~

原文地址:https://www.cnblogs.com/xiaofeixiang/p/5024404.html