携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第4天,点击查看活动详情
逻辑运算符
| 逻辑运算符 | 说明 | 案例 |
|---|---|---|
&& | 与 and | true&&false |
|| | 或 or | true||false |
! | 非 not | !true |
逻辑短路
原理:当有多个表达式(值)时左边的表达式值可以确定结果时,就不再继续运算右边的表达式值。
逻辑与:如果表达式1为真则返回表达式2,如果表达式1为假则直接返回表达式1
逻辑或:如果表达式1为真则返回表达式1, 如果表达式1为假则返回表达式2
例如:
// 逻辑与短路运算
console.log(123 && 456);//456 如果表达式1为真则返回表达式2
console.log(123 && 0);//0 如果表达式1为真则返回表达式2
console.log(0 && 456);//0 如果表达式1为假则直接返回表达式1
console.log(0 && 456 && 2357348);//0
console.log(undefined && 456 && 2357348);//undefined 如果有空的或者否定的为假 其余是真则返回表达式1 '' null undefined NaN
//逻辑或短路运算
//如果表达式1为真则返回表达式1 如果表达式1为假则返回表达式2
console.log(123 || 456);//123
console.log(0 || 456);//456
console.log(0 || 456 || 789);//456
//逻辑中断很重要,会影响程序运行结果
var num = 0;
console.log(123 || num++); //表达式1为真返回表达式1,逻辑中断不执行num++,所以num还是=0
console.log(num);//0
赋值运算符
| 赋值运算符 | 说明 | 案例 |
|---|---|---|
= | 直接赋值 | var usrName = '我是值' |
+=、-= | 加、减一个数后再赋值 | var age = 10;age += 5;//15 |
*=、/=、%= | 乘、除、取模(余)后再赋值 | var age = 2;age *= 5;//10 |
运算符优先级
ps:一元运算符里面的逻辑非优先级很高,逻辑与比逻辑或优先级高
流程控制
简单理解:用来控制代码按照这什么结构顺序来执行
主要三种结构:
-
顺序结构
-
分支结构(if 和switch):从上到下执行代码的过程中,根据不同的条件,执行不同的路径代码(代码执行多选一的过程),从而得到不同的结果
-
if(条件表达式){执行语句}如果if里面的条件表达式为真则执行大括号里面的语句,如果为假则停止执行
-
-
循环结构