13、javascript的传值、流程控制及循环

来源:互联网 发布:ubuntu install mysql 编辑:程序博客网 时间:2024/06/05 09:05

1、传值


将一个变量传给另外一个变量

1.1、  赋值传值:

将值赋给给目标变量,传值后两个数据不会影响,既传值后,改变一个变量的值,不会改变另一个变量的值。

var m=3;

var n=m;

n=4;

alert("n="+n+",m="+m);

 


1.2、  引用传值:

将地址传递给目标,既一个数据改变会影响另外一个数据。

       var a={name:"star",age:22};

       var b=a;

       b.age=23;

       b.name="star-1";

       alert("b的name="+b.name+",b的age="+b.age+

              "     a的name="+a.name+",a的age="+a.age);

注意:在简单数据的传递中,都是赋值传值,而复杂数据都是引用传值

 

 

2、流程控制


2.1、if语句:

语法:if(条件){

                    语句块;

             }

执行:

1)       判断条件是否为真;if(i==1)

2)       当判断结果为真时,跳转3),当判断结果为假时,跳转4)。

3)       执行语句块document.write("if语句");

4)       结束。

var i=1;

       if(i==1){//条件

              document.write("if语句");//语句块

       }

注意:可能出现不执行的情况。

 

 

2.2、if-else语句:

语法:if(条件){

                    语句块1;

             } else{

                    语句块2;

             }

执行:

1)       判断条件是否为真;if(i==1)

2)       当判断结果为真时,跳转3),当判断结果为假时,跳转4)。

3)       执行语句块1document.write("if语句");,跳转5)。

4)       执行语句块2document.write("else语句");

5)       结束。

var i=2;

       if(i==1){//条件

              document.write("if语句");//语句块1

       }

       else{

              document.write("else语句");//语句块2

       }

注意:必定执行语句块1或语句块2中的一个。

 

 

2.3、if-else if-else if语句:

语法:if(条件1){

                    语句块1

             } else if(条件2){

                    语句块2

             } else if(条件3){

                    语句块3

             }

执行:

1)       判断条件1是否为真;if(i==1)

2)       如果判定结果为真,跳转第3),如果判定结果为假,跳转4)。

3)       执行语句块1 document.write("if语句"),跳转10)。

4)       判断条件2是否为真;elseif (i==2)

5)       如果判定结果为真,跳转第6),如果判定结果为假,跳转7)。

6)       执行语句块2document.write("else-if-1语句");,跳转10)。。

7)       判断条件3是否为真;elseif (i==3)

8)       如果判定结果为真,跳转第9),如果判定结果为假,跳转10)。

9)       执行语句块3。document.write("else-if-2语句");

10)   结束。

var i=2;

       if(i==1){//条件1

              document.write("if语句");//语句块1

       }

       else if (i==2) {//条件2

              document.write("else-if-1语句");//语句块2

       }

       else if (i==3) {//条件3

              document.write("else-if-2语句");//语句块3

       }

注意:可能出现不执行的情况。

 

 

2.4、if-else if-else语句:

语法:if(条件1){

                    语句块1;

             } else if(条件2){

                    语句块2;

             } else{

                    语句块3;

             }

执行:

1)       判断条件1是否为真;if(i==1)

2)       如果判定结果为真,跳转3),如果判定结果为假,跳转4)。

3)       执行语句块1(document.write("if语句");),跳转8)。

4)       判断条件2是否为真

5)       如果判定结果为真,跳转6),如果判定结果为假,跳转7)。

6)       执行语句块2(document.write("else-if语句");),跳转8)。

7)       执行语句块3(document.write("else语句");)。

8)       结束。

var i=2;

       if(i==1){ //条件1

              document.write("if语句");//语句块1

       }

       else if (i==2) {//条件2

              document.write("else-if语句");//语句块2

       }

       else {

              document.write("else语句");//语句块3

       }

注意:必定执行语句块1、语句块2或语句块3中的一个。

 

注意:if之间可以互相嵌套;

2.5、switch语句:

语法:

              switch(变量或表达式){

                     case 条件1:

                         语句1;

                            berak;

                     case条件2:

                         语句2;

                            berak;

                                   .

                                   .

                                   .

                                   .

                     default:

                            语句n;

              }

执行:

1)       判断变量或表达式与条件n的关系;

2)       如果结果为相同,跳转3),否则,跳转4)。

3)       执行语句n,跳转6)

4)       n=n+1,跳转1),直至到default时,跳转5);

5)       执行default所属的语句。

6)       结束。

       var i=2;

       switch(i){// 变量或表达式

              case 1:

              document.write(1);// 条件n

              break;

              case 2:

              document.write(2);// 条件n+1

              break;

              default:

              document.write(3);// default所属的语句

       }

注意:除了default外,需要在语句后添加break,否则当执行完后不会自动跳出break,且剩下的语句都会执行。

 

 

3、循环:


循环三要素:

1、循环变量的初始化:

2、循环条件的判断;

3、循环变量的改变;

3.1、while循环:

语法:

      while(循环条件){

             循环体;

      }

执行:

1)       循环变量初始化;

2)       循环条件判定(i<10)。

3)       如果判定结果为真,调准4),如果判定结果为假,跳转5)。

4)       执行循环体,跳转2)。

5)       结束。

var i=0;

       while(i<10){//条件判定

              document.write(i+"    ");//循环体

              i++;//循环体

       }

注意:循环体中必须包含循环条件,且循环条件必须得到合理改变,否则当循环条件满足时候,进入循环体后会发生死循环。

 

 

 

 

 

3.2、dowhile循环:

语法:do{

             循环体;

             }while(循环条件);

执行:

1)       循环变量初始化;

2)       执行循环体

3)       循环条件判定(i<10)。

4)       如果判定结果为真,调准4),如果判定结果为假,跳转5)。

5)       执行循环体,跳转2)。

6)       结束。

var i=1;

       do{

              document.write(i+"    ");//循环体

              i++;//循环体

       }while(i<10)//循环条件判定

注意:while循环与dowhile循环的差别在于,while循环是先进行判断在决定是否执行循环体,而dowhile是一开始先执行一次循环体后,在进行条件判断,然后再决定是否继续执行循环体。

 

 

3.3、for循环:

语法:for(循环条件初始化;循环条件判断;循环变量的变化){

                    语句块;

             }

执行:

1)       循环条件初始化(var i=0);

2)       循环条件判断(i<10

3)       当判定结果为真时,跳转4),否则,跳转6)。

4)       执行语句块(document.write(i+"<br>");

5)       循环变量改变(i++),跳转2)。

 

for(var i=0;i<10;i++){

              document.write(i+"-");

}





--------------------------------------------------------------------------------------------------------------

本文均为学习笔记,仅供个人参考。

原创粉丝点击