分支流程控制if语句
1.if 语句
if (条件表达式){
//条件成立执行的代码语句
}
2.if else双分支语句
//条件成立 执行if 里面代码,否则执行else里面的代码
if (条件表达式){
//【如果】条件成立执行的代码
}else{
//【否则】执行的代码
}
- if else if 多分支语句
if (条件表达式){
//语句1;
}else if(条件表达式2){
//语句2;
}else if(条件表达式3){
//语句3;
}else{
//语句4;
}
三元表达式
1.由三元运算符组成的式子称为三元表达式
2.语法结构
条件表达式 ? 表达式1:表达式2
3.执行思路:如果条件表达式结果为真,则返回表达式1的值,如果条件表达式结果为假,则返回表达式2的值
4.代码体验
<script>
var num = 10;
var result = num > 5 ? '是的' : '不是的';//表达式是有返回值的
console.log(result);
//if (num>5){
// result='是的';
//}else{
// result='不是的';
//}
</script>
举个例子:
<script>
var time = prompt('请您输入一个0~59的数字:');
//三元表达式 表达式 ? 表达式1: 表达式2
var result = time < 10 ? '0' + time : time;//把返回值赋给一个变量
alert(result);
</script>
分支流程控制switch语句
1.switch语句也是多分支语句,也可以实现多选一
2.语法结构:
switch(表达式){
case value1:
执行语句1;
break;
case value2:
执行语句2;
break;
...
default:
执行最后的语句;
}
3.执行思路:利用表达式的值和case后面的选项值相匹配,如果匹配上,就执行该case里面的语句,如果都没有匹配上,就执行default里面的语句
4.代码验证
<script>
switch (2){
case 1:
console.log('这是1');
break;
case 2:
console.log('这是2');
break;
case 3:
console.log('这是3');
break;
default:
console.log('没有匹配结果');
}
</script>
注意:1.开发时表达式经常写成变量
switch(num){
case 1:
console.log(1);
break;
case 3:
console.log(3);
break;
}
2.num的值和case里面的值匹配的时候是全等,必须是值和数据类型一致才可以
3.如果当前的case里面没有break,则不会退出switch,继续执行下一个case
循环
- for循环
- while循环
- do while循环
1.for循环:重复执行某些代码,通常跟计数有关(最常用for循环)
语法结构:
for (初始化变量; 条件表达式; 操作表达式){
//循环体
}
//初始化变量就是var声明的一个普通变量,通常作为计数器使用
//条件表达式就是用来决定每一次循环是否继续执行,就是终止的条件
//操作表达式是每次循环最后执行的代码,经常用于计数器变量进行更新(递增或递减)
代码体验 : 重复打印100句你好吗
for (var i = 1; i<= 100; i++){
console.log('你好吗');
}
//1.首先执行计数器变量var i= 1,但是这句话只执行一次
//2.去i <= 100 判断是否满足条件,如果满足条件就执行循环体,不满足条件退出循环
//3.最后执行i++ , i++是单独写的代码,递增,第一轮结束
//4.接着执行i <= 100,如果满足条件,就执行循环体,不满足条件退出循环
2.双重for循环
语法结构:
for (外层的初始化变量;外层的条件表达式;外层的操作表达式){
for(里层的初始化变量;里层的条件表达式;里层的操作表达式){
//执行语句;
}
}
//1.里层的循环可以看作外层的循环语句
//2.外层循环循环一次,里面的循环执行全部
//3.代码体验
for (var i=1; i<=3; i++){
console.log('这是外层循环第'+ i +'次');
for (var j = 1;j<=3; j++){
console.log('这是里层循环第'+ j +' 次');
}
}
//打印一个倒三角形
<script>
var str="";
for (var i=1;i<=10;i++){
for(var j=i;j<=10;j++){
str= str +'*'
}
str+='\n';
}
console.log(str);
</script>
//打印一个正三角形
<script>
var str="";
for (var i=1;i<=10;i++){
for(var j=1;j<=i;j++){
str= str +'*'
}
str+='\n';
}
console.log(str);
</script>
//打印九九乘法表
<script>
var str="";
for (var i=1;i<=10;i++){//外层循环控制行数
for(var j=1;j<=i;j++){//里层循环控制每一行的个数
str += j + '*' +i +'='+i *j+'\t';
}
str+='\n';
}
console.log(str);
</script>
3.while循环
//语法结构
while(条件表达式){
//循环体
}
//代码体验
var num = 1;
while(num <= 100){
console.log('hi');
num++;//里面应该有计数器,初始化变量,操作表达式,完成计数器的更新,防止死循环
}
4.do while循环
//语法结构
do{
//循环体
}while(条件表达式)
//执行思路 和while不同的地方在于do while先执行一次循环体,再判断条件,如果条件表达式结果为真,则继续执行循环体,否则退出循环
//代码验证
do{
console.log('how are you?');
i++;
}while(i <= 100)
//do while循环体至少执行一次