流程控制:顺序结构、分支结构、循环结构
11、分支语句
11.1 if语句(
分支结构)
if else
语法:
if(条件表达式)
{
//执行语句
}
else
原理:条件为真执行大括号中语句,否则执行下一跳语句
小栗子:
var a = prompt('请输入你的高考成绩:');
if (a >= 341) {
alert('恭喜你考上清华大学')
}
else {
alert('很遗憾,你要去搬砖');
}
又是一个小栗子:
//案例判断一个数是否为闰年
// 闰年的判断条件
//1、能被4整除且不能被100整除或者能被400整除的就是闰年
var year = prompt('请输入你要判断的年份')
if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
alert(year + '这一年是闰年呦!');
}
else {
alert('很遗憾' + year + '这一年并不是一个闰年');
}
11.2if elseif else(多分支语句)
语法:
if(条件表达式1)
{
语句1
}
else if(条件表达式2)
{
语句2
}
else 语句3
小栗子:
//要求输入分数,根据分数判断等级
var score = prompt('请输入你的分数');
if (score > 90)
alert('A');
else if (score > 80)
alert('B');
else if (score > 70)
alert('C');
else if (score > 60)
alert('D');
else alert('你不及格喽');
11.3三元表达式
语法:
2>1?a:b
原理:如果表达式结果为真则执行a,为假则执行b
小栗子:
//时间补0小案例
var a = prompt('请输入0~59中任意一个数字:');
b = a < 10 ? '0' + a : a;
alert(b);
11.4switch
语法结构:
switch(表达式)
{
case value1:执行语句;break;
case value2:执行语句;break;
case value3:执行语句;break;
case value4:执行语句;break;
case value5:执行语句;break;
default: 执行语句
}
原理:表达式的值与选项的值进行匹配
小栗子:
switch (5) {
case 1: console.log('这是1'); break;
case 2: console.log('这是2'); break;
case 3: console.log('这是3'); break;
case 4: console.log('这是4'); break;
case 5: console.log('这是5'); break;
default: console.log('这什么也不是')
}
又是一个小栗子:
var fruit = prompt('请输入查询的水果:');
switch (fruit) {
case '苹果': console.log('这是苹果'); break;
case '香蕉': console.log('这是香蕉'); break;
case '橘子': console.log('这是橘子'); break;
case '西瓜': console.log('这是西瓜'); break;
case '桃子': console.log('这是桃子'); break;
default: console.log('没有这个水果')
}
11.5循环
作用:
可以重复执行一些代码
小栗子:
for (var i = 0; i <= 100; i++) {
console.log('我是for循环');
11.5.1
for
语法
for(初始化变量;条件表达式;操作表达式){
//循环体
}
断点调试:可以观察循环执行的具体过程
11.5.2
小栗子:
求1加到100的和
var sum = 0
for (var i = 1; i <= 100; i++) {
sum += i;
}
alert(sum);
console.log(sum);
又是一个小栗子:
// 求1~100内所有奇数,偶数的和
var js = 0, os = 0;
for (var i = 0; i < 100; i++) {
if (i % 2 == 0) {
os += i;
}
else js += i;
}
console.log('奇数之和为' + js);
console.log('偶数之和为' + os);
还是一个小栗子:
//输入并且打印学生成绩,并且求平均分
var num = prompt('请输入班级的总人数:');
var sum = 0, average = 0
for (var i = 1; i <= num; i++) {
var score = prompt('请输入第' + i + '个学生的成绩');
console.log('第' + i + '个学生的成绩为' + score);
sum += parseFloat(score);
//因为score是字符串类型的,所以要用parseFloat转换为数字型
average = sum / num;
}
alert('班级的总成绩为' + sum);
alert('平均成绩为' + average);
没错还是小栗子:
var num = prompt('请输入星星的个数');
var str = '';
for (var i = 0; i <= num; i++) {
str += '星星';
}
console.log(str);
倒三角案例:
var str = '';
for (var i = 1; i <= 10; i++) {
for (var j = i; j <= 10; j++) {
str = str + '1';
}
str += '\n';
}
console.log(str);
九九乘法表案例
// 九九乘法表
var str = '';
for (var i = 1; i <= 9; i++) {
for (var j = 1; j <= i; j++) {
str += j + '*' + i + '=' + j * i + '\t';
}
str += '\n';
}
console.log(str);
11.5.3while循环
语法:
11.5.4do while循环
语法:
12.1continue关键字
12.2break关键字