文章导航

JavaScript (>) 大于运算符

2018-10-15 15:24| 作者: admin| 查看: 843| 评论: 0|来自: 蚂蚁部落

大于运算符就是数学中的大于号(>)。

数学中的大于功能实在太简单了,就是用来判断运算符左边的数字是否大于右边的数字。

代码实例如下:

[JavaScript] 纯文本查看 复制代码运行代码
let a=5,b=2;
console.log(a>b);

代码运行效果截图如下:

a:3:{s:3:\"pic\";s:43:\"portal/201810/15/152513s4w1xxlixfr3u3j1.png\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

如果运算符左侧运算数大于右侧运算数,则返回true,否则返回false。

上述代码体现了这一点,但是JavaScript中的大于运算符比数学中的运算符要复杂的多。

运算符规则总结如下:

(1).如果两个运算数都是数字,那么直接比较大小即可,很简单。

(2).如果运算数是数字和字符串时,会首先将字符串转换为数字,再去比较。

(3).如果运算数中有布尔值,那么首先将true转换为1,将false转换为0。

(4).如果运算数存在对象,那么首先将此对象转换为其原始值,再去比较,如果转换失败则报错。

(5).如果运算数都是字符串,那么将会比较字符串中字符的ASCII码的大小,后面会有演示。

关于数据类型转换可以参阅JavaScript 数据类型转换一章节。

代码实例如下:

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

代码运行效果截图如下:

a:3:{s:3:\"pic\";s:43:\"portal/201810/15/152612l836ts8eu65c6uee.png\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

两个运算数都是数字,那么直接比较它们的大小。

左侧运算数小于右侧运算数,运算符返回值为false。

[JavaScript] 纯文本查看 复制代码运行代码
console.log("8">6);

代码运行效果截图如下:

a:3:{s:3:\"pic\";s:43:\"portal/201810/15/152654q3fb1yd1vfteed0v.png\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

当数字和字符串比较的时候,首先将字符串转换为数字,然后再去比较。

[JavaScript] 纯文本查看 复制代码运行代码
console.log("蚂">6);

代码运行效果截图如下:

a:3:{s:3:\"pic\";s:43:\"portal/201810/15/152738k0lmeztgtls1snzv.png\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

如果是非数字字符串,那么它永远不大于数字,所以上述代码返回值是false。

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

代码运行效果截图如下:

a:3:{s:3:\"pic\";s:43:\"portal/201810/15/152807kqg3n4ch1ooo6uhx.png\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

如果运算数是布尔值,那么首先将其转换为对应的数字再进行比较。

true转换为1,false转换为0。

[JavaScript] 纯文本查看 复制代码运行代码
console.log("ant" > "anz");

代码运行效果截图如下:

a:3:{s:3:\"pic\";s:43:\"portal/201810/15/152844x1m2tt6eg2z1ge0l.png\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

字符串之间比较大小,是比较字符串中ASCII码的大小。

比较规则如下:

(1).首先比较第一个字符的大小,没有区分出大小。

(2).再比较第二个字符的大小,依然没有区分出大小。

(3).那么再比较第三个字符,t的ASCII码值是116,而z的码值是122,胜负已分。

(4).由此打印结果为false。

[JavaScript] 纯文本查看 复制代码运行代码
let date=new Date();
console.log(date > 8);
console.log(date.valueOf());

代码运行效果截图如下:

a:3:{s:3:\"pic\";s:43:\"portal/201810/15/152911wds7tfeexx1xfv77.png\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

如果运算数为引用类型对象,那么首先将其转换为对应的原始值,然后再进行比较。

时间对象的原始值就是它的时间戳,这时间戳数值自然比8要大,所以打印结果为true。


鲜花

握手

雷人

路过

鸡蛋

最新评论

返回顶部