var a= "1";
var c = "a";
var b = parseInt(c);
console.log(a < c);//true
console.log(b);//NAN
请问a<c
是如何判断的
console.log(a < c)
是ascii
码比较,"1"
的码值是48
,"a"
的码值是97
,所以a<c
关系运算符
- 两个操作数都是数值,则进行数值比较
- 两个操作数都是字符串,则比较两个字符串对应的字符编码值
- 两个操作数有一个是数值,则将另一个转换为数值,再进行数值比较
- 两个操作数有一个是对象,则先调用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运算符