js字符串与数字之间的比较

 
 
    1. //1.纯数字之间比较  
    2. console.log(1<3);//true  
    3.     
    4. //2.纯字符串比较,先转成ASCII码,按位依次比较  
    5. console.log("1"<"3");//true  
    6. console.log('5'<'10');//false  
    7. console.log("5".charCodeAt());//53  
    8. console.log("1".charCodeAt());//49  
    9. console.log("123"<"123");//false  
    10.   
    11. console.log("a"<"b");//true  
    12. console.log("a".charCodeAt());//97  
    13. console.log("b".charCodeAt());//98  
    14. console.log("abc"<"aad");//false            
    15.     
    16. //3.汉字比较  
    17. console.log("我".charCodeAt());//25105  
    18. console.log("的".charCodeAt());//30340  
    19. console.log("我"<"的");//true,汉字比较,转成ASCII码  
    20.     
    21. //4.当数字和字符串比较,且字符串为数字。则将数字字符串转为数字  
    22. console.log(123<"124");//true,下面一句代码得出124的ASCII码为49,所以并不是转成ASCII比较  
    23. console.log("124".charCodeAt());//49  
    24.     
    25. //5.当数字和字符串比较,且字符串为非纯数字时,则将非数字字符串转成数字的时候会转换为NaN,当NaN和数字比较时不论大小都返回false.  
    26. console.log(13>"abc")//false
  1. 总结起来就3点:

    1:纯字符串比较,转换成ASCII码在进行比较;

    2:纯数字和数字字符串相比较,则将字符串数字隐式转换成数字再进行比较;

    3:纯数字和非数字字符串比较,都返回false;

原文地址:https://www.cnblogs.com/xiaotianrui/p/8213425.html