【渡一教育】JavaScript学习笔记整理(学习打卡第5天)

二、比较运算符

1><==>=<=!=比较结果为 boolean

但凡是运算符,都是要有运算的

用到布尔值,true  false

字符串的比较,比的是 ASCII (七位二进制 0000000)

> <

例 var a = "a">"b";document.write(a);

//答案是 false

例 var a = 1 > 2;document.write(a);

//答案是 false

例 var a = 1 < 2;document.write(a);

//答案是 true

例 var a = "1">"8";document.write(a);

//答案是 false

例 var a = "10">"8";document.write(a);

//答案 false,不是十和八比,是字符串一

零和八比,先用开头的一和八比,比不过就不看第二位了;一样的就拿零和八比

例 var a = 123;document.write(a); //答案 false

运算结果为真实的值

=,等不等于

 

例 var a = 1 == 2;//答案是说 1 等不等于 2,因为 1 肯定不等于 2,所以值为 false

例 var a = NaN == NaN; //答案是 false,NaN 不等于任何东西,包括他自己

=,等不等于

 

例 var a = 1 == 2;//答案是说 1 等不等于 2,因为 1 肯定不等于 2,所以值为 false

例 var a = NaN == NaN; //答案是 false,NaN 不等于任何东西,包括他自己

4

例 var a = undefined == underfined; //答案是 true

例 var a = infinity == infinity; //答案是 true

例 var a = NaN == NaN; //答案是 false。非数 NaN 是不等于自己的

NaN 得不出数,又是数字类型,就是 NaN

>=<=

!=是否不等于,非等

比较结果为 boolean 值:true  false

三、逻辑运算符:&&||!运算结果为真实的值

&&与运算符

两个表达式:先看第一个表达式转换成布尔值的结果是否为真,如果结果为真,那么它会看第二个表达式转换为布尔值的结果,然后如果只有两个表达式的话,只看看第二个表达式,就可以返回该表达式的值了,如果第一位布尔值为 false,不看后

面的,返回第一个表达式的值就可以了

运算符就是要求结果

例 var a = 1

&& 2;

//答案 2,如果第一位 1 为真,结果就为第二位的值 2

例 var a = 1

&& 2

+ 2;

//答案 4,如果 1 为真,结果就为 4

例 var a = 0

&& 2

+ 2;

//答案 0

例 var a = 1

&& 1

&& 8;

//答案 8,先看第一个是否为真,为真再看第二个,

中途如果遇到 false,那就返回 false 的值

例 var a =1 + 1 && 1 – 1;document.write(a);

//答案 0

如果是三个或多个表达式,会先看第一个表达式是否为真,如果为真,就看第二个

表达式,如果第二个也为真,就看第三个表达式(如果为真就往后看,一旦遇到假

就返回到假的值),如果第三个是最后一个表达式,那就直接返回第三个的结果

如果第一个是假,就返回第一个值,当是真的时候就往后走,一旦遇到假,就返回

例:2>1 && document.write(‘成哥很帅’) //意思是如果 2 大于 1,那么就

成哥很帅,如果前面真才能执行后面的(相当于短路语句使用)

&&与运算符是有中断作用的,当短路语句使用(如果。。那么。。)

例 var data = ...; //执行一个语句,会用到 data data&&执行一个语句全用到 data

例 data && function(data);

&与运算

我们一般不用

例 var num = 1 & 2;document.write(num);

//

答案 0

例 var num = 1 & 1;document.write(num);

//答案 1

例 var num = 1 & 3;document.write(num);

//答案 1

上下一与,不同为 0,相同为 1

1 在二进制中,是 1(为了对齐补的 0)

0

1

3 在二进制中,是 11

1

1

运算结果

0

1

||或运算符

例 var num = 1

|| 3;

//答案 1

例 var num = 0

|| 3;

//答案 3

例 var num = 0

|| false;

//答案是 false

看第一个表达式是否为真,如果为真,则返回第一个值,碰到真就返回

如果第一个表达式是假,就看第二个表达式,如果第二个是最后一个,就返回第二

个的值

关注真假的说法:全假才为假,有一个真就为真

例 var num = 0 || false || 1;document.write(num);

//答案 1

例 div .onclick = function(e){

非 IE 浏览器直接取 e 值

var event = e;

IE 浏览器存在 window.event;

}

写成下面这样就解决了兼容性。在所有的浏览器中都好使

div .onclick = function(e){var event = e || window.event;}

!非运算符,否的意思。

先转成布尔值,再取反

例 var a = ! 123;document.write(a);

//答案 false。123 的布尔值是 true,取反是 false

例 var a = ! “”;document.write(a);

//答案 true。空串””布尔值是 false,取反是 true

例 var a = ! !“”;document.write(a);

//答案 false,取反后,再反过来,结果不变

例 var a = true;a =!a;document.write(a)

//答案 false,自身取反,再赋值给自身

!=非等于是表达他们到底等不等的

猜你喜欢

转载自www.cnblogs.com/kaierwen2019/p/12721122.html