流程控制
1.单分支if
if(条件)
{
执行相应代码;
}
2.双分支 if else
if(条件)
{
执行相应代码;
}
3.多分支
- if...else if
if(条件){
执行相应代码;
}else if(条件){
执行相应代码;
}else if(条件){
执行相应代码;
}else if(条件){
执行相应代码;
}else{
执行相应代码;
}
-
switch
- 利用switch括号后的值与case后的值匹配,匹配上就执行case下对应的语句,没匹配上就执行default下的默认语句
switch(表达式){
case value1:
执行语句1;
break;//跳出循环,有break才跳出,没有就继续执行下一个
case value2:
执行语句2;
case value3:
执行语句3;
default:
执行默认句;
}
注
-
switch的表达式的值与case的值做全等于的匹配(数据类型和值都相等)
-
switch的表达式的值一般来说是常量
-
case后面必须要跟break才能跳出循环,否则会继续执行下一个case
-
default可以不写
-
例:计算器
const readline = require('readline-sync');
console.log('请输入第一个数:');
let a=readline.question()-0;//-0为了让获取到的值变成数字型
console.log('请输入运算符');
let p=readline.question();
console.log('请输入第二个数:');
let b=readline.question()-0;
switch(p){
case '+':
console.log(`结果是:${a+b}`);
break;
case '-':
console.log(`结果是:${a-b}`);
break;
case '*':
console.log(`结果是:${a*b}`);
break;
case '/':
console.log(`结果是:${a/b}`);
break;
default:
console.log('请输入正确的运算符!');
}
4.循环
-
while
-
适用场景:一段代码,需要重复执行多次
-
书写格式
while(条件){ 循环体;//循环体可以使多条代码 }-
功能
- 条件为true则重复执行
- 条件为false则结束循环
-
例
-
let j=6; while (--j){//当j变为0的时候,隐式转换成false console.log(j); }
-
-
-
do...while
-
适用场景
-
功能
- 先执行循环体再判断
- 条件为true则重复执行
- 条件为false则结束循环
-
书写格式
-
do{ 循环体 }while(条件); -
注
- 循环体至少执行一次
-
例
-
let j=6; do{ console.log(j); }while(--j)//当j变为0的时候,隐式转换成false
-
-
for
-
书写格式
-
for(表达式1;表达式2;表达式3){ 循环体4; } -
例
-
for(let i=1;i<=5;i++){ console.log(i); } -
注
- continue:结束本次循环
- break:结束当前循环
-
let state1=true; let state2=true; let state3=true; bbb:while(state1){ while(state2){ while(state3){ console.log(1); break bbb;//可以自定义取名,必须和前面一致,但有兼容问题,可以直接跳出标记的那个循环,写在什么地方就跳出哪里 } } } console.log('aaa');//1 aaa
-
例:九九乘法表
-
let product = '';//定义一个空字符串来装乘积 for (let i = 1; i <= 9; i++) { for (let j = 1; j <= i; j++) { product += `${i}*${j}=${i*j}\t`;//拼接成公式 } console.log(product);//输出一行 product = '';//输出一行后要清零 }
-