爱创课堂前端js基础 逻辑运算符 逻辑非运算 短路语法爱创课堂前端培训 js基础 逻辑运算符 逻辑非运算 短路语法
|
a && b |
|
|
true |
true |
true |
true |
false |
false |
false |
true |
false |
false |
false |
false |
1 console.log(true
&& true); |
总结:逻辑与运算,都是true才是true。有一false则false。
真值表
a || b |
|
|
true |
true |
true |
true |
false |
true |
false |
true |
true |
false |
false |
false |
总结:逻辑或运算,有一true,则true。全false才false.
1 console.log(true
|| true); |
非真即假,非假即真。
1 // 逻辑非运算 |
特殊情况:字符串或者数字或者特殊字符参与逻辑运算会自动转换为布尔值参与运算,得到的不一定是布尔值。
1 console.log(null
|| 0); |
NaN,0,“”,null,undefined会转换为false。
非0的数字,非空字符串,Infinity会转换为true。
①逻辑与&&
将逻辑与比喻成串联电路,判断过程,想象成电流通过的过程。
电流通过:如果a为真,电流能够通过流通到b,结果就是b;如果a为假,电流不能通过,停留在a,结果为a。
1 console.log("123"
&& true); |
②逻辑或||
将逻辑或比喻成并联电路,判断过程,想象成电流通过的过程。
电流经过时:如果a为真,电流直接从a完成循环,结果为a;如果a为假,电流从a不能经过,流经到b,我们结果是b。
总结:(逻辑与 && ) 如果a能被转换为false,那么返回a;否则,返回b。
(逻辑或 || ) 如果a能被转换为true,那么返回a;否则,返回b。
(不要记结论,自己会推导)
1 console.log("123"
|| true); |
逻辑运算符的顺序:先非,与,最后或。
小测试:
false || !false && false || true;
1 原式=
false || !false && false || true |
4 && "hello" || !false || !true && null;
1 原式 =
4 && "hello"
|| !false || !true && null; |
一个 赋值运算符(assignment operator) 赋一个基于它右边操作数值的值给它左边的操作数。最简单的赋值运算符是等于(=),将右边的操作数值赋给左边的操作数。那么 x = y 就是将 y 的值赋给 x。
含义:将右侧的数据运算之后,赋值给左边。
在变量原基础上,进行右侧的运算,将运算的值再赋值给左边的变量。
= 直接赋值,将等号右侧值直接赋值给左侧的变量
+= 加等于
-= 减等于
*= 乘等于
/= 除等于
%= 取余等于
++ 递加
-- 递减
+=,加等于。相当于在原有数据之上加右侧的值运算后的结果赋值给变量(左侧的变量)
1 var a = 10; |
++,再原有数据之上加1
1 var f = 10; |
--,在原有数据之上减1
1 var g = 10; |
++,--有两种写法,有区别:
在参与运算时,写在++在前面的,先计算,计算后的值参与运算。
写在变量后的,原数据参与运算,运算之后再加1。
(不管++在前或者在后,只要出现过一次,后面使用时都是计算后的一个值)。
1 var a = 10; |
|
来自: PGoneow0vuxc8m > 《待分类》