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) 执行语句块1(document.write("if语句");),跳转5)。
4) 执行语句块2(document.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) 执行语句块2(document.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+"-");
}
--------------------------------------------------------------------------------------------------------------
本文均为学习笔记,仅供个人参考。
- 13、javascript的传值、流程控制及循环
- javascript流程控制、循环控制
- JavaScript流程控制-循环结构
- JavaScript复习之--流程控制-循环结构
- 6. javascript流程控制 循环结构
- javascript的流程控制
- 流程控制值循环结构
- JavaScript 的异步流程控制
- JavaScript的流程控制语句
- javascript入门系列演示·流程控制之 判断、循环
- 高性能JavaScript 循环语句和流程控制
- 高性能JavaScript 循环语句和流程控制
- JavaScript流程控制---分支语句、循环语句练习题
- Oracle 流程控制/循环
- 韩顺平 javascript教学视频_学习笔记5_js三大流程控制(顺序流程、分支控制、循环控制)
- Javaweb中JavaScript的流程控制语句
- JavaScript 流程控制结构(顺序/选择/循环while for/跳出循环)
- JavaScript概览(二)--流程控制及错误处理
- tensorflow 实现一个Softmax Regression
- 下载Pixel, Nexus等谷歌亲儿子的源码的方法
- Guava Multimap<K,V>告别Map的一对一映射
- Java--Socket套接字
- iOS编程学习十八(SAP CloudPlatform SDK for iOS)
- 13、javascript的传值、流程控制及循环
- 接口与内部类
- js中对象this注意细节
- Django学习5:利用GET方式提交表单
- 记录一个QT+Opencv+Cmake的错误的解决
- 聊聊CentOS的服务
- 正则表达式
- CSU-ACM2017暑期训练3-递推与递归 D-Function Run Fun POJ-1579
- 如何升级python代码版本