javaScript的三大结构
- 一.js代码执行的三大结构
- 二.顺序结构
- 三.条件语句(if语句和switch语句)
- 1.选择语句(if语句)
- 2.switch语句
- 3.三元运算符 ?:
- 四.循环语句(while循环、do-while循环和for循环)
- 1. 循环的概念
- 2. while循环
- 3. do-while循环
- 4. for循环
- 五.控制循环关键字
- 1. break
- 2. continue
- 六.标签(label)
一.js代码执行的三大结构
- 顺序:从上朝下执行的代码就是顺序.
- 选择:根据不同的情况, 执行对应代码(条件语句)
- 循环:重复做一件事情
二.顺序结构
顺序结构是最简单的程序结构, 它是由若干个依次执行的处理步骤组成 .只有执行上一个语句之后, 才能执行下一个语句.
JavaScript程序的执行单位为行(line), 也就是一行一行地执行. 一般情况下, 每一行就是一个语句.
例1: 输入两个数, 然后交换这两个数, 再输出他们交换后的结果
//题目:输入两个数, 然后交换这两个数, 再输出他们交换后的结果
var num1 = 2;
var num2 = 3;
var tmp = num1;
num1 = num2;
num2 = tmp;
console.log("num1:"+num1+",num2"+num2);//num1:3,num2:3
三.条件语句(if语句和switch语句)
1.选择语句(if语句)
- 格式:
if(条件表达式1){
执行语句1;
}else if(条件表达式2){
执行语句2;
}else{
执行语句3;
} - 过程: 先去判断括号中的条件表达式1, 如果成立, 执行紧跟着if语句中大括号中的语句. 否则判断条件表达式2, 如果成立执行语句2.否则执行语句3;
- 条件表达式为Boolean类型, 可以写true
例2: 判断一个正数为奇数还是偶数
var num = 10;
if(num % 2 == 0){
console.log("这是一个偶数");
}else{
console.log("这是一个奇数");
}
例3:判断一个年份是闰年还是平年
闰年的条件: 1. 可以被400整除 2. 可以被4整除, 但是不能被100整除
var year = 2020;
if(year % 400 == 0 || year % 4 == 0 && year % 100 != 0){
console.log("这是闰年");
}else{
console.log("这是平年");
}
2.switch语句
多个if...else
连在一起使用的时候,可以转为使用更方便的switch
结构。
- 格式:
switch(表达式){
case 常量1: 语句; break;
case 常量2: 语句; break;
case 常量3: 语句; break;
…
case 常量n: 语句; break;
default:语句: break;
} - 过程: 表达式的结果等于那个case的常量, 则执行其后的语句, 执行完break就跳出switch结构, 都不满足则执行default的语句.
3.三元运算符 ?:
- 格式: (条件) ? 表达式1 : 表达式2
- 过程: 如果条件为true, 则返回表达式1的值, 否则返回表达式2的值
四.循环语句(while循环、do-while循环和for循环)
1. 循环的概念
循环就是重复多次执行某一个代码块. 循环体重应有结束循环的条件, 否则会造成死循环.
2. while循环
- 格式:
while(条件表达式){
代码块;
} - 过程: 条件表达式为Boolean类型, 如果为真则执行代码块;
- 执行顺序: 先判断再执行
3. do-while循环
- 格式:
do{
代码块;
}while(条件表达式) - 过程: 先执行一遍代码块, 然后判断条件表达式. 如果结果为true, 继续执行, 如果执行一次就停止执行. 所以do-while无论条件符不符合, 代码块最低执行一次.
- 执行顺序: 先执行一遍再判断
4. for循环
- 格式
for(表达式1:表达式2 : 表达式3){
代码块;
} - 过程: 先求解表达式1(只求一次); 求解表达式2, 若其值为真, 则执行for语句中指定的内嵌语句, 然后求解表达式3; 再求解表达式2, 若为假, 则结束循环.
- 作用: 可以用于不确定循环次数的循环
例: 计算1+2+3+…+100之和
var num = 0;
for(var i = 1; i <=100; i++){
num += i;
}
console.log(num);
五.控制循环关键字
1. break
break的作用: 是跳出循环结构, 不再执行循环体中的语句.
2. continue
作用: 跳出本次循环, 会执行后面的循环
六.标签(label)
- JavaScript语言允许, 语句的前面有标签(label), 相当于定位符, 用于跳转到程序的任意位置, 标签的格式如下.
label:
语句
- 标签可以是任意的标识符, 但不能是保留字, 语句部分可以是任意语句.
- 标签通常与
break
语句和continue
语句配合使用, 跳出特定的循环
top:
for(var i = 0; i < 3; i++){
for(var j = 0; j < 3; j++){
if(i === 1 && j === 1) break top;
console.log('i=' + i + ', j=' + j);
}
}
// i=0, j=0
// i=0, j=1
// i=0, j=2
// i=1, j=0
top:
for(var i = 0; i < 3; i++){
for(var j = 0; j < 3; j++){
if(i === 1 && j === 1) continue top;
console.log('i=' + i + ', j=' + j);
}
}
// i=0, j=0
// i=0, j=1
// i=0, j=2
// i=1, j=0
// i=2, j=0
// i=2, j=1
// i=2, j=2