比较运算符、逻辑运算符
js运算符
比较运算符
比较运算符 |
---|
== | 比较符号两边数据是否相等,相等结果是true |
---|---|
< | 比较符号左边的数据是否小于右边的数据,如果小于结果是true |
> | 比较符号左边的数据是否大于右边的数据,如果大于结果是true |
<= | 比较符号左边的数据是否小于等于右边的数据,如果小于等于结果是true |
>= | 比较符号左边的数据是否大于等于右边的数据,如果大于等于结果是true |
!= | 比较符号两边数据是否不相等,不相等结果是true |
比较结果为boolean值
// 数字的比较
var a = 1 > 2;
document.write(a); // 打印结果为false
// 字符串的比较(比的是ASCII值)
var a = "a" > "b";
document.write(a); // 打印结果为false
var a = "1" > "8";
document.write(a); // 打印结果为false 因为1的ASCII比8小
var a = "10" > "8";
document.write(a); // 打印结果为false
// 这里字符串是不10是一零 字符串比较是逐位比较 1比8小 所以是false
var a = 1 == 2;
document.write(a); // 打印结果为false
var a = NaN == NaN;
document.write(a); // 打印结果为false 非数不等于任何人,包括自己
var a = 1 >= 2;
document.write(a); // 打印结果为false
var a = 1 <= 2;
document.write(a); // 打印结果为true
var a = 1 != 2;
document.write(a); // 打印结果为true
逻辑运算符
逻辑运算符主要有:
名称 | 符号 | 详情 |
---|---|---|
与(并且) | && | 全都是true才是true,否则是false(一假即假) |
或(或者) | || | 有一个是true就是true;全都是false就是false(一真即真) |
非(取反) | ! | 本来是true,变成false;本来是false,变成true |
运算结果为真实的值
// && 与运算符会判断符号前面的值是否为真,如果为真,然后判断符号后面是否为真,都为真则返回true(一假即假)
var a = 1 && 2;
document.write(a); // 打印结果为true
// 一个符号的与 (根据二进制数值比较)
var num = 1 & 3; // 01 11 按位比较 相同为1 不同为0 所以结果是01
document.write(num);
// 如果第一个数是真值就会返回第一个数,第一个是假第二个不管真假都会返回第二个(一真即真)
var num = 1 || 3;
document.write(num); // 打印结果1
var num = 0 || 3;
document.write(num); // 打印结果3
var num = 0 || false;
document.write(num); // 打印结果false
// e在非IE浏览器中有值,IE浏览器中需要window,event取值
// 通过||写兼容
div.onclick = function(e) {
var event = e || window,event;
}
// 非 !打印结果为布尔值
var a = !123
document.write(a); // 打印结果false
var a = !"";
document.write(a); // 打印结果是true ""是false 取反就是true
var a = !!""; //打印结果是false 两次取反还是等于本身
document.write(a);
被认定为false的值
undefined,null,NaN,"",0, false // “”空串,这几个进行逻辑运算时是false