文章导航

JavaScript <= 小于等于

2018-12-6 14:28| 作者: admin| 查看: 52| 评论: 0|来自: 蚂蚁部落

此运算符可以比较左右两侧运算数的大小。

当左侧运算数小于或者等于右侧运算数时返回true,否则返回false。

JavaScript中的<=运算符与数学对应运算符相比应用更加复杂,不但数字之间可以比较,字符串也可以比较,甚至不同类型数据也可以进行比较,具体规则,下面会通过代码实例一一演示,并且最后会给出总结。

代码实例如下:

[JavaScript] 纯文本查看 复制代码运行代码
console.log(5<=5);
console.log(5<=3);
console.log(5<=8);

代码运行效果截图如下:

a:3:{s:3:\"pic\";s:43:\"portal/201812/06/142838tsgyrdqsqdd9f3ng.png\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

数字之间的比较非常简单,左侧数字小于或者等于右边数字,返回true,否则返回false。

[JavaScript] 纯文本查看 复制代码运行代码
console.log("4"<=5);

代码运行效果截图如下:

a:3:{s:3:\"pic\";s:43:\"portal/201812/06/142904r090igwr69kkvd3s.png\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

字符串与数字之间也可以比较大小,规则如下:

首先将字符串转换为数字,然后再进行比较,所以上述代码返回true。

[JavaScript] 纯文本查看 复制代码运行代码
console.log(true <= 0);
console.log(true <= 2);
console.log(false <= 0);
console.log(false <= -1);
console.log(false <= -2);

如果是布尔值与数字比较,那首先将布尔值转换为数字,规则如下:

如果是true,则转换为1,false转换为0,然后再进行比较。

[JavaScript] 纯文本查看 复制代码运行代码
console.log("ac" <= "ab");

字符串之间也可以比较大小,规则如下:

(1).字符串比较大小,事实是比较组成字符串的字符ASCII码的大小。

(2).从左到右依次比较字符ASCII码的大小,直到决出胜负位置。

(3).比如先从第一个字符比较,由于都是"a",打成平手,然后再比较第二个,"c"的ASCII大于"b"的。

(4).所以返回false。

[JavaScript] 纯文本查看 复制代码运行代码
console.log("ac" <= "db");

代码运行效果截图如下:

a:3:{s:3:\"pic\";s:43:\"portal/201812/06/143010gw97luu9wyhwlkl6.png\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

只要前面的已经取得决定性比较结果,后面的就没有必要比较了。

就如同高位数字已经取胜,低位数字大小已经不再重要。

[JavaScript] 纯文本查看 复制代码运行代码
let obj={
  valueOf:function(){return 5}
}
console.log(obj <= 4);

代码运行效果截图如下:

a:3:{s:3:\"pic\";s:43:\"portal/201812/06/143036h1etvt4fxqnt3o5n.png\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

上述代码是一个引用类型数据obj与值类型数据4之间比较大小。

首先会将引用类型数据转换为值类型,实质就是调用了valueOf方法。

最终比较的是数字5与数字4,所以打印结果为false。

比较规则最终总结:

(1).如果操作数是数字,直接比较它们之间大小关系。

(2).如果操作数是数字和数字字符串,首先将数字字符串转换为数字。

(3).如果操作数是数字和布尔值,首先将true转换为0,false转换为0。

(4).如果操作数是字符串,则比较字符的ASCII码大小。

(5).如果操作数有引用类型,那么首先将其转换为值类型再进行比较。


鲜花

握手

雷人

路过

鸡蛋

最新评论

返回顶部