js流程控制,代码的执行机制:顺序控制,分支控制,循环控制
1.顺序控制:就是按照代码的书写顺序,自上而下执行
2.分支控制
2.1单路分支
// 单路分支
// if(条件表达式){
// 执行代码
// }
// 如果条件表达式满足,执行对应的代码块
var x = prompt("请输入你的年纪");
if(x >=18){
alert("成年");
}
2.2双路分支
// if(条件表达式){
// 代码1
// }else{
// 代码2
// }
// 如果条件表达式满足,走代码1,否则的话,走代码2
var x = prompt("请输入你的性别");
if (x==1){
document.write("女")
}else{
document.write("男");
}
2.3多路分支
// 多路分支
// if(条件表达式1){
// 代码1
// }else if(条件表达式1){
// 代码2
// }else if(条件表达式2){
// 代码3
// }else{
// 代码0
// }
var x = prompt("请输入年纪");
if(x>=0&&x<=18){
alert("未成年");
}else if(x>18&&x<=30){
alert("青少年");
}else if(x>30&&x<=60){
alert("成年人");
}else{
alert("不属于以上");
}
2.4嵌套分支
// 嵌套分支;
// if (条件表达式1) {
// if (条件表达式2) {
// 代码2;
// } else {
// 代码3;
// }
// } else {
// 代码1;
// }
var x = prompt("请输入你的年纪");
// 判断是否为数字
if (!isNaN(x)) {
console.log("a");
if (x >= 0 && x <= 100) {
if (x >= 0 && x < 18) {
alert("未成年");
} else if (x >= 18 && x < 30) {
alert("少年");
} else if (x >= 30 && x < 60) {
alert("中年");
} else if (x >= 60 && x <= 100) {
alert("老年");
}
} else {
alert("不是正确的年龄范围");
}
} else{
console.log("b");
alert("你输入的内容为非数字");
};
2.5switch分支
// switch分支
// switch (判断的值){
// case 可能性1:
// 代码1;
// break;
// case 可能性2:
// 代码2;
// break;
// default:
// 代码0
// break;
// }
var date = new Date();
var x = date.getDay();
switch(x){
case 1:
alert("今天周一");
break;
case 2:
alert("今天是周二");
break;
case 3:
alert("今天是周三");
break;
case 4:
alert("今天是周四");
break;
default:
console.log("aaa");
break;
}
3.for循环控制
// 循环控制
// for(初始值;最大范围/最小范围;自增/自减){
// 代码
// }
// document.write("周末要加班了❤️" + "<br />");这句话循环10遍
for(i = 0; i<=10;i++){
document.write("周末要加班了❤️" + "<br />");
}
3.1for循环嵌套
// for循环嵌套
for(var i = 1;i<=5;i++){
for(var j = 6; j<=10;j++){
console.log(i+"+"+j);
}
}
3.2for循环遍历数据
var arr = ["a","b","c","d"];
for(i=0;i<arr.length;i++){
console.log(arr[i]);
}
3.3for in 遍历数据
// for in
// 遍历数据
// for(var 变量 in 数据){
// }
var arr = ["a","b","c","d","e","f"];
for(var i in arr){
console.log(arr[i]);
}
// for in遍历对象
// var obj = {
// a:"aa",
// b:"bb",
// c:"cc",
// d:"dd",
// e:"ee"
// }
// for(var i in obj){
// // console.log(i);
// console.log(obj[i]);
// }
4.while
// while(条件表达式){
// 代码
// }
// 一个人,能跳1.3米,跳到30米要跳多少次
// 在针对于未知次数循环的时候,使用while,
// 在已知循环次数的时候,使用for
var index = 0;
var num = 0;
while(num<30){
num = num + 1.3;
index++;
}
console.log(index);
4.1do while
// do{
// 代码
// }while(条件表达式);
do{
document.write("aaa");
}while(false)
5.break打断
// break
// 打断
for(var i=0;i<=10;i++){
console.log(i);
if(i==5){
break;
}
}
6.continue继续
// continue
// 继续/跳过
for(var i=0;i<=10;i++){
if(i==5){
continue;
}
console.log(i);
}