JavaScript流程控制

流程控制:
顺序结构:
程序从上往下进行

条件结构:
1.单路分支

if(判断条件)
{
表达式
}
当判断条件为真的时候,执行表达式,否则不执行。

2.双路分支
if(判断条件)
{
表达式1
}
else
{
表达式2
}
判断条件为真,执行表达式1,如果条件为假,执行表达式2

3.多路分支
if(判断条件1)
{
表达式1
}
else if(判断条件2)
{
表达式2
}
else
{
表达式3
}
顺序判断条件,符合条件1,执行表达式1,如果不符合,判断条件2,符合条件2执行表达式2,上述条件都不满足执行表达式3。
条件分支语句,永远执行其中一条或者一条也不执行。
if...else if..用于范围的


switch(变量)
{
case 值1:
表达式;
break;

case 值2:
表达式;
break;

case 值3:
表达式;
break;

default:表达式
}
swich...用于单个值匹配

4.嵌套分支
if(判断条件1)
{
if(判断条件2)
{
}
}
else
{
for()
{
while()
{
}
}
}

循环结构
1.whlie循环(先判断在执行)
while(判断条件)
{
表达式;
}
适合做条件循环

2.do...while(先执行在判断)
do
{
表达式;
}
while(判断条件);

3.for循环
for(语句1;语句2;语句3)
{
表达式;
break;
continue;
}
适合计数
语句1在执行循环开始之前执行,语句2判断是否符合执行循环条件,语句3,在执行循环体后执行

练习:
输出100行,50列的@
<script>
var i=0;
while(i<50)
{
var j=0;
while(j<100)
{
document.write("@");
j++;
}
document.write("<br>")
i++;
}
</script>

九九乘法表:
退出两次循环
<script>
for(i=1;i<=9;i++)
{
if(i==5)
break;
for(j=1;j<=9;j++)
{
if(j==5)
break;
document.write(j+"x"+i"="+(j*i)+"&nbsp;&nbsp;")
}
document.write("<br>")
}
</script>

退出两次循环,加标记st:退出时候搜直接退到st:标记,不会在进来继续执行。continue和break都可以退出到标记位置,不在进来往下执行。
<script>
st:
for(i=1;i<=9;i++)
{

for(j=1;j<=9;j++)
{
if(j==5)
break st;
document.write(j+"x"+i"="+(j*i)+"&nbsp;&nbsp;")
}
document.write("<br>")
}
</script>
区别:php里break后面加数字写几,退出几层。
退出到标记位,不在继续执行,C语言中goto退出到位置后继续进来执行。



用一个while循环,100行10列的表格,隔行换色:
<script>
document.write('<table border="1" width="800" align="center">')
var i=0;
while(i<1000)
{
if(i%20==0)
{
bg="#cccccc";
}
else
{
bg="#ffffff";
}
document.write('<tr onmouseover="show(this)" onmouseout="noshow(this)" bgcolor="'+bg+'">');
}
document.write('<td>'+i+'</td>');
i++;
if(i%10==0)
document.write('</tr>');

}
document.write('</table>')
var ys=null;
function show(obj)
{
ys=obj.bgColor;
obj.bgColor="red";
}
function noshow()
{
obj.bgColor=ys;
}
</script>
鼠标移动到行上,高亮显示。

猜你喜欢

转载自blog.csdn.net/abenazhan/article/details/77116046