js字符串与数字比较大小的问题

var a= "1";
var c = "a";
var b = parseInt(c);

console.log(a < c);//true
console.log(b);//NAN

请问a<c是如何判断的

阅读 18k
1 个回答

console.log(a < c)ascii码比较,"1"的码值是48"a"的码值是97,所以a<c

关系运算符

  1. 两个操作数都是数值,则进行数值比较
  2. 两个操作数都是字符串,则比较两个字符串对应的字符编码值
  3. 两个操作数有一个是数值,则将另一个转换为数值,再进行数值比较
  4. 两个操作数有一个是对象,则先调用valueOf()方法或toString()方法,再用结果比较

var num = '3'>22;//false
var num = '3'>'22';//true,进行第一个数字的比较3>2,所以是true
var num = 'a'>'b';//false,a=97,b=98,ASCII表
var num = 'a'>'B';//true,B=66
分享自:详解js运算符

推荐问题
宣传栏