javascript笔记整理,流程控制

流程:就是程序代码的执行顺序

流程控制:通过规定的语句让程序代码有条件的按照一定的方式执行

1.顺序结构(按照书写顺序来执行,是程序中最基本的流程结构)

2.选择结构(分支结构、条件结构):根据给定的条件有选择的执行形相应的语句

if else

1.单路分支

*.条件可以是表达式也可以是任何的数据类型

*.大括号会把他里面的代码当作一个整体来运行,如果只有一条语句,可以省略大括号

if(1<2)alert(1);
if (条件){ //只有当条件为 true 时执行的代码 }

2.双路分支

if (条件){
//当条件为 true 时执行的代码
}else{
//当条件不为 true 时执行的代码
}

3.多路分支

if (条件 1){
//当条件 1 为 true 时执行的代码
}else if (条件 2){
//当条件 2 为 true 时执行的代码
}else{
//当条件 1 和 条件 2 都不为 true 时执行的代码
}

4.嵌套分支

if(1<2){
if(){
}else{
}
}else{
}

switch

switch(n){
case 1:
//执行代码块 1
break;
case 2:
//执行代码块 2
break;
default:
//n 与 case 1 和 case 2 不同时执行的代码
}

*************************************************

1.当判断某种范围的时候最好用if语句,当判断单个值时候用switch

2.条件满足的情况不可以重复,会发生不可预期的错误。

*************************************************

3.循环结构(在给定的条件满足下,反复执行同一段代码)

for(循环代码块一定的次数)

for (语句 1; 语句 2; 语句 3){
//被执行的代码块
}
//语句 1 在循环(代码块)开始前执行
//语句 2 定义运行循环(代码块)的条件
//语句 3 在循环(代码块)已被执行之后执行

while(循环会在指定条件为真时循环执行代码块)

while (条件){
//需要执行的代码
}
// 99乘法表
var a=1; 
while(a<=9){
    var b=1;
    while(b<=a){
        document.write(b+'*'+a+'='+a*b+'&nbsp;&nbsp;&nbsp;');
        b++;
    }
    document.write('<br>');
    a++;
}            

do/while 循环是 while 循环的变体。该循环会执行一次代码块,在检查条件是否为真之前,然后如果条件为真的话,就会重复这个循环

do{
//需要执行的代码
}
while (条件);

#######################################

do{}while 和 while的区别

1.while:当条件满足时,执行循环体,当不满足时退出循环;先判断,后循环

2.do{}while:先执行一次,再进行条件判断;条件满足再循环,不满足退出循环

for 和 while 的区别

1.for:一般用于循环指定的次数(知道循环次数)

2.while是根据条件真假来循环,当真时进行循环,假退出循环(未知循环次数)

#######################################

4.流程控制--跳转语句(在循环控制语句中,当 满足指定条件 的时候,退出循环 或者是退出 当前 循环的语句。)

1.break;跳出并且终止循环,如果后面有代码,则继续往下执行。

2.continue;跳出并且终止当前的循环,如果下个值仍满足循环条件,则继续循环

*******

break:

A.switch循环指的是当满足某个条件后,退出switch语句

B.用在循环语句当中,跳出并且终止循环,如果后面有代码,则继续往下执行

continue:

A.只能用在循环语句当中, 跳出并且终止当前的循环,如果下个值仍满足循环条件,则继续循环

B.最好用适当的语句代替continue(continue效率低)

//例子:
for(var i=1;i<5;i++){
    if(i!=3){
        document.write(i);
    };
}
//等价于
for(var i=1;i<5;i++){
    if(i==3){continue;};
    document.write(i);
}    

5、标签语句(用来退出多层循环)

break out;

continue out;

注意:标签名只可以作用于break 或continue

ab:
for(var i=1;i<5;i++){
    document.write(i+'<br>');
    for(var b=1;b<6;b++){
        if(i==3){continue ab;};
        document.write('b'+b+'<br>');
    } 
}        

6、with(){}用于设置代码在对象中的作用域。

*************************************************

不建议使用。

with(document){

write(1);

write(2);

write(3);

write(4);

write(5);

}

结果 12345

*************************************************