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运算符

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏