JavaScript学习笔记【DAY2(2020.8.18)周二】
分支判定:为了让程序拥有自主选择 能力,JS语言加入了分支判定功能。可以让程序决定执行哪一段代码,不执行哪一段代码,从而实现程序结果的多样化.
分支判定有两种: if 和 switch
if语句
语法1:
if (表达式) {代码段}
运行规则: 当表达式为真时,执行if代码段 当表达式结果为假时,不执行任何内容
语法2:
if (表达式) { 代码段 } else { 代码段 }
运行规则: 当表达式为真时,执行if代码段 当表达式结果为假时,执行else代码段
语法3:
if (表达式1) {
代码段1
}
else if (表达式2) {
代码段2
} else if (表达式3) {
代码段3
} ...
运行规则: 当表达式1为真时,执行代码段1 执行完毕 跳出分支判断 当表达式1为假时,去判定表达式2,为真时,执行代码段2 当表达式2为假时,去判定表达式3,为真时,执行代码段3 当表达式3为假时,继续往后判定 直到遇见为真的表达式 就执行对应的代码段 或者都不符合,就不会进入分支代码。
语法4:
if (表达式1) {
代码段1
} else if (表达式2) {
代码段2
} else {
代码段3
}
以上写法: 当表达式1为真时 执行代码段1 否则判定表达式2 为真时执行代码段2 否则 执行代码段3
注: 整个if语句由3部分组成if () {} 与 else if () {} 与 else {}除了第一部分必须有之外,其余部分都可以省略。第三部分只能出现一次,第二部分可以出现多次。
switch语句:也是多分支语句,它用于基于不同的条件来执行不同的代码。当要针对变量设置一系列的特定值的选项时,就可以使用 switch。
语法:
switch( 表达式 ){
case value1:
// 表达式 等于 value1 时要执行的代码
break;
case value2:
// 表达式 等于 value2 时要执行的代码
break;
default:
// 表达式 不等于任何一个 value 时要执行的代码
}
switch :开关 转换 , case :小例子 选项
关键字 switch 后面括号内可以是表达式或值, 通常是一个变量
关键字 case , 后跟一个选项的表达式或值,后面跟一个冒号
switch 表达式的值会与结构中的 case 的值做比较
如果存在匹配全等(===) ,则与该 case 关联的代码块会被执行,并在遇到 break 时停止,整个 switch 语句代码执行结束
如果所有的 case 的值都和表达式的值不匹配,则执行 default 里的代码
注: 如果没有break,则会出现落空现象。 落空现象: 指的是会执行下一个case语句中的代码的现象。
三元运算符:也叫做三目运算符 指的是对if else语句的一种简化方式
条件 ? 结果1 : 结果2
规则:当条件为真时,使用结果1否则,使用结果2
switch 语句和 if else if 语句的区别
一般情况下,它们两个语句可以相互替换;
switch...case 语句通常处理 case为比较确定值的情况,而 if…else…语句更加灵活,常用于范围判断(大于、等于某个范围);
switch 语句进行条件判断后直接执行到程序的条件语句,效率更高。而if…else 语句有几种条件,就得判断多少次。
当分支比较少时,if… else语句的执行效率比 switch语句高。
当分支比较多时,switch语句的执行效率比较高,而且结构更清晰。
循环结构:当有大量的重复性的代码时,我们可以使用循环语句来解决。
while循环: 先判断,再执行循环体
while (条件表达式) {
// 循环体代码
}
注: 一定记得在语句中改变条件表达式中的变量 否则会死循环
do while循环: 先执行循环体,再判断
do {
// 循环体代码 - 条件表达式为 true 时重复执行循环体代码
} while(条件表达式);
注: 一定记得在语句中改变条件表达式中的变量 否则会死循环;无论条件是否达成,都会执行一次语句
for 循环
for(初始化变量; 条件表达式; 操作表达式 ){
//循环体
}
初始化变量 通常被用于初始化一个计数器,该表达式可以使用 var 关键字声明新的变量,这个变量帮我们来记录次数。
条件表达式 用于确定每一次循环是否能被执行。如果结果是 true 就继续循环,否则退出循环。
操作表达式 用于确定每一次循环是否能被执行。如果结果是 true 就继续循环,否则退出循环。
注: 改变初始化条件不一定是 i++。 i += 2也是可以的
注: 该语法有变种写法,但是不推荐使用
注: 循环变量在for循环结束之后依旧可用
双重for 循环
for (外循环的初始; 外循环的条件; 外循环的操作表达式) {
for (内循环的初始; 内循环的条件; 内循环的操作表达式) {
需执行的代码;
}
}
break:用于打断循环的执行。
for (var i = 0; i < 10; i++) {
if (i === 3) {
break;
}
console.log(i);
}
continue:用于跳过当前层循环,进入下一次循环
for (var i = 0; i < 10; i++) {
if (i === 4) {
continue;
}
console.log(i);
}
注: continue和break只能够用在循环体内