流程控制
在一个程序执行过程中,代码顺序对程序结果是有影响的,所以需要控制代码的执行顺序
- 顺序结构
- 分支结构(if)
- 循环结构(while)
顺序结构
无特定语法结构
代码会按照代码的先后顺序、依次执行
分支语句
就是利用多个条件选择不同的语句,得到不同的结果
if 语句,如果表达式里的结果为真,则执行大括号里的语句,若为假,则不执行
// () 里面放条件表达式
// {} 里面放执行语句
var age = prompt('请输入年龄');
if (age >= 18) {
alert('允许进入');
}
if else双分支语句,条件成立,执行if里面的代码,否则执行else里面的代码
var age = prompt('请输入你的年龄');
if (age >= 18) {
alert('允许进入');
} else {
alert('还差一点呀');
}
if else if多分支语句,利用多个条件来选择不同的语句,得到不同的结果
var money = prompt('请输入你的月薪:');
if (money >= 1000000) {
alert('土豪爸爸,你还缺腿部挂件吗');
} else if (money >= 10000) {
alert('大神,带带我吧');
} else if (money >= 1000) {
alert('兄弟,有钱途呀');
} else {
alert('准备喝西北风吧');
}
switch多分支语句,当要针对变量设置一系列特定值选项时,可以使用switch
// 括号里我们常写变量,且变量的值和case里的值是全等的(值和类型一致)
// 如果当前case里没有break,则不会退出switch,会继续执行下一个case,直到遇到break
switch (3) {
case 1:
console.log('这是数字1');
break;
case 2:
console.log('这是数字2');
break;
case 3:
console.log('这是数字3');
break;
default:
console.log('查无此元素');
}
三元表达式
如果条件表达式为真,则执行表达式1,若为假,则执行表达式2
- 语法结构:条件表达式?表达式1:表达式2;
var num = 10;
var result1 = num > 5 ? 'yes' : 'no';
console.log(result1);
循环结构
有许多具有规律性的重复的操作,因此程序中要完成这类操作就需要重复执行某些语句
- for循环
- while循环
- do...while循环
学习循环之前,先了解一下什么是循环体,终止条件,循环语句,初始化变量,条件表达式,操作表达式
循环体:一组被重复执行的语句被称之为循环体
终止条件:能否继续重复执行,取决于循环的终止条件
循环语句:由循环体及循环的终止条件组成的语句,称之为循环语句
初始化变量:用var声明的变量,用作计数器使用
条件表达式:用来决定每次循环是否继续执行,就是终止的条件
操作表达式:每次循环最后执行的代码,经常用于我们计数器变量进行更新
for循环
// ()里面要有初始化变量;条件表达式;操作表达式
// 语法结构:
for () {
// 循环体
}
// for循环执行相同的代码
for (var i = 1; i <= 100; i++) {
console.log('我爱你');
}
双重for循环
单层for循环不能满足我们的需求,可以通过循环嵌套来实现
循环嵌套:在一个循语句中再定义一个循环语句的语法结构
// 语法结构:
for (var i = 1; i <= 3; i++) {
console.log('这是外层的第' + i + '循环');
for (var a = 1; a <= 5; a++) {
console.log('这是内层第' + a + '循环');
}
}
将里层循环看作是外层循环的语句
外层循环循环一次,里面的循环执行全部
利用双层for循环我们可以打印九九乘法表
var str = '';
for (var i = 1; i <= 9; i++) {
for (var j = 1; j <= i; j++) {
str += j + '×' + i + '=' + i * j + '\t';
}
str += '\n';
}
console.log(str);
while循环
while语句可以在条件表达式为真的前提下,循环执行指定的一段代码,指导表达式为假时结束循环
执行思路:
- 先执行条件表达式,若为真,则执行循环体,若为假,则退出循环,执行后面的代码
- 执行循环体
- 循环体代码执行完毕之后,程序继续判断条件表式,若为真,则继续执行循环体,直到循环体为假
// 语法结构
while () {
}
// 案例:
var message = prompt('你爱我吗?');
while (message !== '我爱你') {
message = prompt('你爱我吗?')
}
alert('我也很爱你!');
do...while循环
至少循环一次
执行思路:
- do...while先执行一次循环体,再判断条件表达式,如果条件表达式为真,则继续执行循环体,否则退出循环体
// 语法结构:
do {
// 循环体
} while () // 条件表示
// 案例:
var i = 1;
do {
console.log('How are you?');
i++;
} while (i <= 100)