js 字符串比较大小

let a="91";                   
let b="390"                    
console.log(a.charCodeAt())    //57
console.log(b.charCodeAt())        //51
console.log(a<b)               false

91 是 小于 390 的,但是这里返回false

字符串在比较的时候会转化为ascll 的打印字符(9是57,3是51),会依次比较字符,如果第一个字符相等就比较下一个   ,所以在比较的时候一定要转化为number来比较



let a="";
let b=" "
console.log(a<b)  //false   ""  在ascll 中转化不成数字,所以是NaN,NaN 和任何数字做比较返回的都是false
console.log(NaN<-99999999999)  //false

猜你喜欢

转载自blog.csdn.net/github_39319000/article/details/89554079