入门 - 比较运算符 ¶
作者:KK
发表日期:2016.2.7
有一些软件有积分功能的,比如积分到达5000就送你一个东西,所以这时候就要用你的积分和5000进行比较,看看是不是到达了,到达了就送东西,这种场合下就需要比较运算符了
比如
var a = 1 > 2; //比较1是不是大于2
alert(a);
会输出false
,上面的代码意思是比较一下1 > 2
是不是成立,如果成立,就得到结果true
,如果不成立则得到false
,然后将这个结果存到内存变量a里面,由于1并不大于2,所以为false
回想我们之前所说的变量类型,有个类型就是布尔值
类型,这个类型只有true和false两个值,代表"是"和"不是"之类的意思
比较运算的结果都是布尔值
,所以比较结果就只有true和false两个可能性而已
比较运算符一共有7种,分别是:
>
大于比较:比较左边的数字是不是大于右边,例:var a = -121 > 2; //注意前面是负数哦 alert(a); //false var b = 2 > 2; alert(b); //false var c = 3 > 2; alert(c); //true
>=
大于等于比较:比较左边的数字是不是大于或者等于右边,例:var a = 0 >= 2; alert(a); //false var b = 2 >= 2; alert(b); //true var c = 3 >= 2; alert(c); //true
但是要注意的是符号书写方式,必须是
>=
这样写,如果写成=>
这样是非法的无法运行的哦!<
小于比较:和>
大于比较相反,我就不举例子了<=
小于等于比较:和>=
大于等于比较相反,我就不举例子了!=
不等于比较:比较符号左边的值跟右边的值是不是不相等,例:var a = 1 != 2; alert(a); //true,因为1与2是不相等的呀 var b = 2 != 2; alert(b); //false,因为两个2都是一样的数字,所以是相等的才对 var c = 55; var d = c != 9; alert(d); //true,因为内存变量c的值是55,所以55与9比较起来就是不相等的
其实这个符号不只是比较数字是否相同而已,还能比较字符是否相同,或者一个字符和一个数字是否相同,例如:
var a = '字符串1' != '字符串2'; alert(a); //true var b = 'abc' != 'abc' alert(b); //false,因为上面两个字符串是相同的嘛 var c = 2 != 'abc'; alert(c); //true,正因为数字和字符串是不同的内容 var d = true != false; alert(d); //true,因为两个布尔值是不同的值 var e = true != true; alert(e); //false,因为两个都是true,相同的哦 var f = true != 'abc'; alert(f); //true,一个是布尔值true,一个是字符串值abc,肯定是不同咯,所以为true
==
等于比较:等于比较和不等于比较是相反的,它比较符号左边的值和右边的值是不是相等的,不要求是数字,可以是任何值,例:var a = 1 == 2; alert(a); //false,原因很简单,因为1和2是不同的数值,所以1不等于2 var b = 2 == 2; alert(b); //true,因为两个2都是一样的数字,所以是相等的 var c = 55; var d = c == 9; alert(d); //false,因为内存变量c的值是55,所以55与9比较起来其实是不相等的 var e = '字符串1' == '字符串2'; alert(e); //false var f = 'abc' == 'abc' alert(f); //true,两个字符串是一样的abc内容 var g = 2 == 'abc'; alert(g); //false,数字2和字符串abc是不同的 var h = true == false; alert(h); //false,因为两个布尔值是不同的值 var i = true == true; alert(i); //true,因为两个都是true,相同的哦 var j = true == 'abc'; alert(j); //false,一个是布尔值true,一个是字符串值abc,所以是不相同的,所以为false
===
严格的等于比较,它和等于比较是差不多的,但是会比等于比较更加严格.等于比较时,在比较数字1和字符串1的情况下结果会为true,但在严格比较下就会不为true,因为严格比较时要求值的类型也是一样的,所以数字和字符串的值类型已经不一样,例子:
var a = 1 == '1'; alert(a); //true var b = 1 === '1'; alert(b); //false,因为用了严格比较,数字1和字符串1是不同的值类型 var c = 1 === 1; alert(c); //true,这下数字1和数字1严格比较才是相等 var d = '1' === '1'; alert(d); //true,字符串也是,反正必须类型相同才可以比较,类型不同都是false var e = 'aaa' == 'abc'; alert(e); //false,字符串不一样 var f = 'aaa' === 'abc'; alert(f); //也是false,这里和普通的等于比较一样,虽然同样是字符串值,但是字符串的内容不同嘛
还有在与布尔值比较时也是要值得注意的,因为true代表真和是的意思,false代表假,不是和否的意思,