1.流程控制简介
1流程控制
在任何一门程序设计语言中,都需要支持满足程序结构 化所需要的三种流程控制:
1)顺序控制
2)分支控制(条件控制)
3)循环控制 顺序控制:在程序流程控制中,最基本的就是顺序控制。程序会按照自上而下的顺序执行。
2.分支流程控制
1)if 语句
2)switc 语句
【1】
if 语句 {重要}
分类:单分支,双分支,多分支,分支嵌套
// 单分支
if (条件表达式){
代码段
}
// 双分支
if (条件表达式) {
代码段1
}else {
代码段2
}
// 多分支
if (条件表达式1){
代码段1
} else if (条件表达式2){
代码段2
} else if (条件表达式3){
代码段3
}else{
代码段4
}
注:()中可以是一个值,也可以是一个表达式
// 判断成绩是否及格
// 单分支
var score = 78;
if(score>=60 && score<=100){
console.log('及格');
}
// 双分支
if(score>=60 && score<=100){
console.log('及格');
}else{
console.log('不及格');
}
// 双分支 改写 三元运算符
var res = score>=60&& score<=100?'及格':'不及格';
console.log(res);
// 多分支
var score = 59;
if(score>=60 && score<=100){
console.log('及格');
}else if(score>=0 && score<=59){
console.log('不及格');
}else{
console.log('输入错误!');
}
// 分支嵌套
var score = 59;
if(score>=60 && score<=100){
if(score>=85){
console.log('优秀');
}else if(score>=75){
console.log('良好');
}else{
console.log('中等');
}
}else if(score>=0 && score<=59){
console.log('不及格');
}else{
console.log('输入错误!');
}
【2】
switc{掌握}
基本语法:
switch (变量){
case 值1:
代码段;
break;
case 值2:
代码段;
break;
...
default:
代码段;
}
注:()只能是变量或值,不能是表达式
var d = new Date();
console.log(d); // 获取日期时间对象
var week = d.getDay(); // 获取星期几
switch (week) {
case 0:
console.log('星期天');
break;
case 1:
console.log('星期一');
break;
case 2:
console.log('星期二');
break;
case 3:
console.log('星期三');
break;
case 4:
console.log('星期四');
break;
case 5:
console.log('星期五');
break;
case 6:
console.log('星期六');
break;
}
对比:if和switc的区别
if:条件是一个范围 或者 是具体的值
switch:条件是一个具体的值
能够使用switch实现的判断,都可以使用if来实现
但是,能够使用if语句实现的判断,不一定能使用switch实现
3循环控制语句
1.
while语句{掌握}
While 循环会在指定条件为真时循环执行代码块。
While循环,先进行条件判断,再执行循环体的代码
基础语句:
while (条件表达式){
循环体
}
注意:当前循环中,如果不满足条件,一次都不会执行
var i= 1;
while(i<=10){
console.log(i);
i++;
}
2.
do....while{了解}
do/while 循环是 while 循环的变体。该循环会执行一次代码块,在检查条件是否为真之前,然后
果条件为真的话,就会重复这个循环。
do while循环,先执行循环体代码,再进行条件判断。至少执行一次循环体的代码。
do {
代码段
} while (条件表达式)
注意:当前循环中,代码至少执行一次
var i=1;
do{
i++; // 2
console.log(i);
}while(i<=10)
3.for循环【重要】
<------------------------------------------------------->
for (循环变量初始化表达式; 循环条件表达式; 更新循环变量表达式) {
循环体
}
<------------------------------------------------------->
注意:
- 循环变量可以定义在for 循环结构体外
- 没有更新循环变量会变成死循环
- 循环条件中的‘;’不能省略
基础案例:
1.计算1+2+...100=5050的和
var sum=0
for(var i=1;i<=100;i++){
sum += i
if(i<100){
document.write(i+'+');
}else{
document.write(i+'='+sum)
}
}
console.log(sum)
2.循环输出5个div标签
for(var i=0;i<5;i++){
document.write('<div>1</div>')
}
3.循环输出1-100
for(var i=1;i<=100;i++){
document.write(i);
}
4.循环输出table表格,创建四行5列的表格
document.write('<table border="1">')
for(var j=1;j<=4;j++){
document.write('<tr>')
for(var i=0;i<=3;i++){
document.write('<td>@</td>');
}
document.write('</tr>')
}
document.write('</table>')
4 for...in{掌握}
语法:
for (变量 in 对象) {
代码段
}
- for...in 语句用来遍历对象的每一个属性。每次都将属性名作为字符串保存在变量里
- 在无法预知对象的任何信息,和循环次数的时候使用
var arr = [
{
"name":"Java编程思想",
"price":78.9
},
{
"name":"python入门宝典",
"price":59
},
{
"name":"JavaScript程序设计",
"price":69
}
];
for(var i=0;i<arr.length;i++){
// console.log(arr[i]);
// json - {"name":"Java编程思想","price":78.9}
for(key in arr[i]){
console.log(arr[i][key]);
}
}
4.跳转语句
contiune{掌握}
continue语句只能应用在循环中(while、do......while、for)语句中
用于中止本次循环,根据控制表达式还允许继续进行下一次循环。
var iNum = 0;
for (var i=1; i<10; i++) {
if (i % 5 == 0) {
document.write(i);
continue;
}
iNum++;
}
alert(iNum);
break{掌握}
break 语句只能应用在循环(while、do......while、for)或switch语句中
break语句用于退出循环,阻止再次反复执行任何代码或者退出一个
switch语句
for (var i=1; i<10; i++) {
if (i % 5 == 0) {
break;
}
iNum++;
}
alert(iNum);