1.javascript 中的流程控制语句
1. 顺序结构 自上往下一行一行逐行执行
2. 选择结构 有选择的执行某一部分程序
2.1 if 语句
1. if(){}
2. If(){}else{} – 条件运算符
3. If(){}else if(){}else if(){}…else{}
4. If 语句的嵌套
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>选择结构</title>
<script>
window.onload=function(){
//1.if语句
/*
var chengji=50;
if(chengji<60){
alert("不及格");
}
*/
//2.if(){}else(){}
/*
var chengji=70;
if(chengji<60){
alert("不及格");
}else{
alert("及格");
}
*/
//3.if(){}else if(){}else if(){}...else{}
/*
var chengji=120;
if(chengji>0 && chengji<60){
alert("不及格--D");
}else if(chengji>=60 && chengji<75){
alert("及格--c");
}else if(chengji>=75 && chengji<85){
alert("良好--B");
}else if(chengji>=85 && chengji<90){
alert("优秀--A");
}else{
alert("成绩无效");
}
*/
//4.if 语句的嵌套
var chengji=0;
if(chengji>0 ){
if(chengji<60){
alert("不及格");
}else{
alert("及格");
}
}else{
if(chengji==0){
alert("鸭蛋");
}else{
alert("不能为负");
}
}
}
</script>
</head>
<body>
</body>
</html>
**2.2 switch 语句
switch(表达式 n){
case 常量值 1:执行代码块 1; [break;]
case 常量值 2: 执行代码块 2; [break;]
…
case 常量值 n:执行代码块 n; [break;]
default:
表达式的结果与 case 后面常量值都不匹配;
}**
工作原理:
首先设置表达式 n(通常是一个变量)
随后表达式的值会与结构中的每个 case 的值做比较。
如果存在匹配[相等],则与该 case 关联的代码块会被执行。
请使 用 break 来阻止代码自动地向下一个 case 运行。
注意:
与 case 关联的执行代码块中有没有 break 语句,会影响运行结果。 有 break 语句中断执行,没有 break 语句,消除与小 case 的匹配,直接执行与之关 联的代码块。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>switch 语句</title>
<script>
window.onload=function(){
var op="*";
var num1=10;
var num2=3;
switch(op){
case "+": document.write(num1+"+"+num2+"="+(num1+num2)+"<br />");break;
case "-": document.write(num1+"-"+num2+"="+(num1-num2)+"<br />");break;
case "*": document.write(num1+"*"+num2+"="+(num1*num2)+"<br />");break;
case "/": document.write(num1+"/"+num2+"="+(num1/num2)+"<br />");
default:
document.write("运算符号不匹配");
}
}
</script>
</head>
<body>
</body>
</html>
3. 循环结构 一部分程序不断运行
3.1for 循环 —》for(in)
格式:
for(初始条件;判断条件;自增/自减量){
需要被循环执行的程序 ;
}
for(in)—
1.循环遍历对象的属性/函数的名称
2.遍历数组得到的下标
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>for 循环</title>
<script>
window.onload=function(){
/*
for(var i=1;i<=6;i++){
//<h1>测试for循环--h1</<h1>
document.write("<h"+i+">测试for循环--h"+i+"</h"+i+">");
}
*/
/*
for(var i=6;i>=1;i--){
//<h1>测试for循环--h1</<h1>
document.write("<h"+i+">测试for循环--h"+i+"</h"+i+">");
}
*/
//遍历数组
/*
var array1=new Array()
array1[0]="张三";
array1[1]="peiqi";
array1[2]="wangwu";
for(var i=0;i<array1.length;i++){
document.write("<h1>"+array1[i]+"</h1>")
}
*/
//for(in)
//1.循环遍历对象的属性/函数的名称
/*
var obj={name:"peiqi",
age:18,
address:"西安",
getName:function(){}
};
var t="nul1";
for(t in obj){
document.write("<h1>"+t+"</h1>");
}
*/
//2.遍历数组得到的下标--遍历数组
var array2=["xilinna","佩奇","李四"];
for(var i in array2){
document.write("<h1>"+array2[i]+"</h1>");
}
}
</script>
</head>
<body>
</body>
</html>
3.2while 循环
格式:
while(判断条件){
需要被循环执行的程序;
}
- 没有初始条件【循环结构之外】,没有自增/自减量【循环体内】
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>while循环</title>
<script>
window.onload=function(){
//循环输出1~10的整数
//定义初始条件
/*
var i=1;
while(i<=10){
document.write("<h1>"+i+"</h1>");
i++;
}
*/
//循环输出10~1的整数
/*
var i=10;
while(i>=1){
document.write("<h1>"+i+"</h1>");
i--;
}
*/
//遍历数组
/*
var array1=["张三","李四","王五"];
var i=0;
while(i<array1.length){
document.write("<h1>"+array1[i]+"</h1>");
i++;
}
*/
//while循环执行时不考虑循环次数
var array1=["张三","李四","王五"];
var boo=true;
var i=0;
while(boo){
if("李四"==array1[i]){
alert("找到王五")
boo=false;
}
i++;
}
alert=("i=="+i)
}
</script>
</head>
<body>
</body>
</html>
3.3do…while 循环
格式:
do{
需要被循环执行的程序;
}while(判断条件)
1.没有初始条件【循环结构之外】,没有自增/自减量【循环体内】
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>do...while 循环</title>
<script>
window.onload=function(){
/*
var i=1;
do{
document.write("<h1>i=="+i+"</h1>");
i++;
}while(i<=10);
*/
//循环输出10~1的整数
/*
var i=10;
do{
document.write("<h1>"+i+"</h1>");
i--;
}while(i>=1);
*/
//遍历数组
/*
var array1=["张三","李四","王五"];
var i=0;
do{
document.write("<h1>"+array1[i]+"</h1>");
i++;
}while(i<array1.length);
*/
//do...while 循环循环执行时不考虑循环次数
var array1=["张三","李四","王五"];
var boo=true;
var i=0;
do{
if("李四"==array1[i]){
alert("找到王五");
boo=false;
}
i++;
}while(boo)
}
</script>
</head>
<body>
</body>
</html>
1. for 循环与 while 和 do…while 循环的区别?
for 循环有初始条件和自增/自减量的书写位置,while 和 do…while 循环没有有初始条件 和自增/自减量的书写位置,while 和 do…while 循环需要初始条件时需要在循环结构之外自 己定义,自增/自减量需要在循环体内控制。
for 循环在运行的时候需要明确循环的次数,while 和 do…while 循环不需要明确循环的 次数,达到条件自动结束。
2. while 和 do…while 循环的区别?
while 循环先判断后执行,do…while 循环先执行后判断,判断条件为 false 时 do…while 循环比 while 循环多执行一次。
4.break 和 continue 语句
break–中断 【switch,循环语句中】
continue --继续 【结束本次循环,进入下一次】
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>break--中断</title>
<script>
window.onload=function(){
var i=1;
while(i<=10){
document.write("<h1>"+i+"</h1>");
if(i==5){
break;
}
i++;
}
}
</script>
</head>
<body>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>continue --继续</title>
<script>
window.onload=function(){
var i=0;
while(i<=10){
i++;
if(i==5){
continue;
}
document.write("<h1>"+i+"</h1>");
}
}
</script>
</head>
<body>
</body>
</html>