Javascript中大于和小于

一.关系操作符返回类型(大于,大于等于,小于,小于等于)

  • var result1 = 15 > 13; //true
  • var result2 = 15 < 13; //false
  • 这几个操作符返回的都是布尔型

二.如果2个操作数都是数值,则按照普通的数值比较
三.如果2个操作时不全是数值,则会有以下规则

  • 如果两个操作数都是字符串,则比较两个字符串对应(两个字符串中对应位置的每个字符)的字符编码值
var res1 = 'alpha go';
var res2 = 'Backhome';

alert(res1 > res2);  //true
//字母B的字符编码66,字母a的字符编码是97


----------


var res1 = 'alpha go';
var res2 = 'Backhome';

alert(res1.toLowerCase() > res2.toLowerCase()); //false


----------


var res1 = '23';
var res2 = '3';

alert(res1 < res2);  //true
//'2'的字符编码是50,'3'的字符编码是51
  • 如果一个操作数是数值,则会把另个操作数转化为一个数值,然后进行数值比较
var res1 = '23';
var res2 = 3;

alert(res1 < res2); //false
// res1会转化为数值23,23 > 3


----------
var res1 = 'a';
var res2 = 3;

alert(res1 < res2); //false,因为'a'转化为了NaN
//任何操作数与NaN比较,都是false
NaN < 10 //false
NaN >= 10 //false

一般来说,如果一个值不小于另外个值,则一定是大于或者等于那个值。特殊情况,在与NaN比较的时候,结果都返回了false;

  • 如果有一个操作数是对象,调用这个对象的valueOf()方法,得到的结果按照前面的规则进行比较。如果对象没有valueOf()方法,则调用toString()方法,得到的结果按照前面的规则进行比较。
var res1 = {_key : 12};
var res2 = 10;

alert(res1 < res2);  //false
alert(res1 >= res2);  //false


----------


var res1 = {_key : 12};
var res2 = {_key : 11};

alert(res1 >= res2);    //true
alert(res1 < res2);     //false
alert(res1 > res2);     //false
alert(res1 <= res2);    //true
  • 如果操作数是布尔值,则转化为数值,再进行比较。
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值