十、流程控制
1、if语句
满30减15
| if(条件表达式){
| 语句块
| }
如果语句块中只有一行代码,则大括号可以省略
一下数据作为条件隐式转换为false:0、NaN、‘’、undefined、null
2、if-else
| if(条件表达式) {
| 语句块
| }else{
| 语句块
| }
3、if-else嵌套
| if(条件表达式1) {
| 语句块1
| }else if(条件表达式n){
| 语句块n
| } else{
| 语句块n+1 //以上所有的条件都是false
十一、switch-case语句(switch:开关 case:情况)
是一种特殊的多项判断语句
switch后的表达式在和case后的值比较过程中只有全等于(===)一种方式
| switch(表达式){
| case 值1://如果表达式1和值1相同,则执行对应的语句块
| 语句块1
| break; //结束 跳出整个switch语句
| case 值n:
| 语句块n
| break;
| default:
| 语句块n+1 //表达式和每个值比较都不相同
| }
十二、循环
循环:一遍又一遍的执行相同或者相似的代码
循环的两个要素:
循环条件:控制循环是否往后继续进行
循环体 :要重复执行的代码
1、while循环
| while(循环条件){
| 循环体
| }
————————————————
| 练习:打印1~100的总和
| var i=1;
| //声明变量,用于保存总和
| var sum=0;
| while(i<=100){//循环条件
|
| //console.log(sum); 可以查看求和过程
| //把每个整数加到sun中
| //sum=sum+i;
| sum+=i;//0+1+2+3+4+...+100
| //增量
| i++;
| }
| //打印最终的结果
| console.log(sum);//打印1~100的总和
2、break
在循环体中使用,用于强制结束循环或者跳出循环,不再执行任何循环中的代码
| 练习:当循环条件为ture的情况下,计算10~20之间所有整数的乘积
| var n=10;
| //声明变量,用于保存乘积
| var sum=1;
| while (true){
| //n代表所有整数
| //把所有整数乘以到s中
| sum*=n;
| //console.log(sum);
| //当n=20的时候,强制结束循环
| if(n===20){
| break;
| }
| n++;
| }
| console.log(sum);
3、do-while循环
| do{
| 循环体
| }while(循环条件);
4、for循环
| for( 初始值 ; 循环条件 ; 增量 ){
| 循环体
| }
十三、continue
在循环体中使用,用于跳过剩余部分的循环体,还会继续往后执行
常用于排除循环中某一部分值
| 练习:打印输出1~100之间的所有整数,不包括所有能被3或4整除数字
| for(var i=1;i<=100;i++){
| if(i%3==0 || i%4==0){
| continue;
| }
| console.log(i);
十四、循环嵌套
在一个循环的内部呦出现了其他的循环
| 练习:打印输出
| *
| **
| ***
| ****
| *****
| for(j=1 ; j<=5 ; j++){
| for(i=1,str='' ; i<=j ; i++){
| str+=*;
| }
| console.log(str);
| }
————————————————
| 练习:打印九九乘法表
| for(j=1 ; j<=9 ; j++){
| for(i=1 ; i<=j ; j++){
| str+=i+'*'+j+'='+' ';
| if((j=3 || j=4)&&i=2){
| str+=' ';
| }
| console.log(str);
| }
| function func(){
| for (var j=1;j<=9 ;j++ )
| {
| str=''
| for (var i=1,str='';i<=j ;i++ )
| {
|
| str+=i+'*'+j+'='+(j*i)+' '
| if ((j==3||j==4)&&i==2)
| {
str+=' '
}
}
console.log(str)
}
}
func()
阶乘 5!=5*4*3*2*1
10!=10*9*8*7*6*5*4*3*2*1