流程控制语句
流程控制语句
流程控制语句
流程控制语句俗称程序结构
分为:
- 顺序结构
- 分支结构(选择结构):之内执行一个分支
- if
- if…else
- if…else if…else
- switch
- 循环结构
- for
- while
- do…while
分支结构
if语句
if语句:若条件成立(真),则执行语句,不成立,则不执行
语法:
if(条件){
语句;
}
如:成绩大于80分的及格
var score=prompt('请输入成绩:')
if(score>80){
alert('及格');
}
if…else语句
语法:
if(条件){
语句1;
}else{
语句2;
}
如:小于18岁禁止入内
var age=prompt('请输入您的年龄:')
if(age>18){
alert('去玩吧');
}else{
alert('禁止入内');
}
多分支语句
语法:
if(条件1){
语句1;
}else if(条件2){
语句2;
}else{
语句3;
}
如:考试成绩80分以上及格,95以上奖励100元,不及格挨打
var score=prompt('请输入成绩:')
if(age>95){
alert('奖励100元');
}else if{
alert('及格');
}else{
alert('挨打');
}
如:
周一到周五学习编程技术,周六自习,周日去公园
<script type="text/javascript">
var week=prompt('请输入今天是星期几?');
if(week=='星期一'||week=='星期二'||week=='星期三'||week=='星期四'||week=='星期五'){
alert('学习编程技术')
}else if(week=='星期六'){
alert('自习')
}else if(week=='星期日'){
alert('去公园')
}else{
alert('请输入正确的日期')
}
</script>
switch语句
switch语句只能用于单值比较,并且为全等比较,表达式中与case中谁的值相等,那么就会执行谁的。如果都不相等,则执行default的值。
语法:
case(表达式){
case 值1:
break;
case 值2:
break;
...
case 值n:
break;
default:
break;
}
如:
以下变量名不规范的是:A.abc B.$abc C._abc D.&abc
<script type="text/javascript">
var res=prompt('以下变量名不规范的是:A.abc B.$abc C._abc D.&abc')
switch(res){
case 'A':
alert('答案错误');
break;
case 'B':
alert('答案错误');
break;
case 'C':
alert('答案错误');
break;
case 'D':
alert('答案正确');
break;
default:
alert('请重新输入');
break;
}
</script>
case穿透
如上例可写为:
switch(res){
case 'A':
case 'B':
case 'C':
alert('答案错误');
break;
case 'D':
alert('答案正确');
break;
default:
alert('请重新输入');
break;
}
</script>
再例如:
根据月份输出对应的季节:冬季:12, 1,2;春季:3,4, 5;夏季:6, 7,8;秋季:9,10,11
<script type="text/javascript">
var month=prompt('请输入月份:');
switch(month){
case '12':
case '1':
case '2':
alert('冬季');
break;
case '3':
case '4':
case '5':
alert('春季');
break;
case '6':
case '7':
case '8':
alert('夏季');
break;
case '9':
case '10':
case '11':
alert('秋季');
break;
default:
alert('请输入正确的月份');
break;
}
</script>
嵌套语句
语法:
if(){
if(){
语句1
}else{
语句2
}else{
if(){
语句3
}else{
语句4
}
}
在弹出框中会有确定和取消选择项,如果点击取消,会出现NaN,需要加上:
if(num!==null);
使用嵌套语句,如判断奇偶数
if(num!=null){
if(num%2==0){
alert('偶数');
}else{
alert('奇数');
}
}
循环结构
for语句
语法:
for(声明变量初始化;循环条件;循环迭代){
循环体;
}
如:输出五行’hello word’
for(var i=0;i<5;i++){
document.write('hello word<br/>');
}
执行规则:
第一步:循环变量的初始化 var=0;
第二步:循环条件判断 i<5;
若判断条件成立,执行循环体,不成立,结束循环
第三步:循环迭代 i++;
第四步:再继续执行第三步,进行判断
如:
求10以内的奇数之和:
for(var i=1;i<=10;i+=2){
sum+=i;
}
for语句一定是由三部分组成,省略条件时分号不能少:
1.省略第一个条件
var i=0;
for(;i<5;i++){
document.write('hello word<br/>');
}//输出5个hello word
2.省略第二个条件
var i=0;
for(;;i++){
if(i>4){
break;
}
document.write('hello word<br/>');
}//输出5个hello word
3.省略第三个条件
var i=0;
for(;;;){
if(i>4){
break;
}
document.write('hello word<br/>');
i++;
}//输出5个hello word
换行
document.write('');
对其换行:
document.write('hello word'+'<br/>');
或
document.write('hello word<dr>');
break结束循环(结束整个程序)
for(var i=0;i<5;i++){
if(i==2){
break;//结束循环
}
console.log(i);
}//0,1
continue结束本次循环,实行下一个循环
for(var i=0;i<5;i++){
if(i==2){
continue;//结束循环
}
console.log(i);
}//0,1,3,4,
如:求10以内奇数之和:
for(var i=0;i<10;i++){
if (i%2==0){
continue;
}
sum+=i;
}//当i为2的倍数时跳过
while循环
先判断,再执行,判断未知用此方法
语法:
while('循环条件'){
循环体;
}
如:
var i=0;
while(i<3){
document.wirte('hi<br/>');
i++;
}//输入三遍hi
do…while
先执行后判断
先执行循环体一次,判断条件成立后,执行循环,不成立,结束循环
语法:
do{
循环体;
}while(条件);
如:
var i=0;
do{
document.write('hi<br>');
i++;
}while(i<3);//3个hi
如:
var j=0;
while(i<3){
document.write('hi<br>');
j++;
}//3个hi
while语句不符合条件的不出结果,先判断后输出,如:
var k=0;
while(k<3){
document.write('hi<br>');
k++;
}//无结果
do…while语句不符合条件的会输出一个结果,先输出后判断,如:
var r=3;
do{
document.write('hi<br>');
}while(r<3);//出现一变hi
嵌套循环
输出矩形:*****
*****
*****
*****
//控制行数
for(var i=0;i<4;i++){
//控制每行内容具体个数
for(var i=0;i<5;i++){
document.write('*');
}
document.write('<br>');//分行
}
输出等腰三角形:
<script type="text/javascript">
for(var i=1;i<5;i++){
for(var m=1;m<=4-i;m++){
document.write(' ');
}
for(var j=1;j<=2*i-1;j++){
document.write('*');
}
document.write('<br/>');
}
输出乘法口诀:
<script type="text/javascript">
var symbol;
for(var i=1;i<=9;i++){
for(var j=1;j<=i;j++){
symbol=i*j;
if(symbol<10){
document.write(symbol=j+'*'+i+'='+symbol+' '+' '+' '+' '+' ');
}else{
document.write(symbol=j+'*'+i+'='+symbol+' '+' '+' ');
}
}
document.write('<br>');
}
</script>