文章目录
分支
1、流程控制就是对代码执行顺序的控制,实现代码实现的结果
顺序结构
分支结构
循环结构
分支:根据不同的条件,执行不同的路径代码,得到不同的代码 - - - > 多选1
if语句
switch语句
if
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script>
/* 1. if 的语法结构 */
// if (条件表达式) {
// //执行语句
// }
// 2.执行思路 如果 if 里面的条件表达式结果为真 true ,就执行大括号里面的 执行语句
// 如果if 条件表达式结果为假 则不执行大括号里面的语句,执行if语句后面的代码
// 例子
// 弹出 prompt 输入框,用户输入年龄,程序把这个值取过来保存到变量里
// 使用 if 语句来判断年龄,如果年龄大于18,就执行 if大括号里面的输出语句
var age = prompt('请输入您的年龄:');
if (age >= 18) {
alert('666');
}
alert('sorry');
</script>
</head>
<body>
</body>
</html>
if else
if (条件表达式){
// 执行语句1
} else{
//执行语句2
}
// 执行思路
//如果真 1,,,,假 2,,,
if - else if - if 分支语句
多分支语句:利用多个条件来选择不同的语句执行,得到不同的结果,,,多选 1 的过程:最后只能有一个语句执行
三元表达式由三元运算符组成的式子就是三元表达式
// 条件表达式 ? 表达式1 : 表达式2
// 真的话,返回1的值
// 假的话,返回2的值
// eg:
var num = 10;
var reuslt = num >5 ? '是的' : '不是的';
例子
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script>
//数字加0
// 用户输入数字,如果数字小于10,则在前面补 0 (拼接0) ,比如01,04 07,如果数字大于10,则不需要补
//分析:
// 用户输入 0-59 的数字
// 如果数字小于10,在数字前面补0,否则不做操作
// 用一个变量接收这个返回值并输出
var time = prompt('请输入数字:');
//三元表达式
var result = time < 10 ? '0' + time : time; //把返回子赋值给一个变量
//这里用到是 拼接 ,要将数字拼接的话,最好是使用字符串型
alert(result);
</script>
</head>
<body>
</body>
</html>
switch语句
多分支语句,实现多选 1
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script>
// 1.switch 结构
switch (表达式) {
case value1:
执行语句1;
break;
case value2:
执行语句2;
break;
default:
执行最后的语句;
}
</script>
</head>
<body>
</body>
</html>
注意:
1.开发里面,表达式经常写成变量
2.必须式全等才能匹配起来
值和数据类型必须一致
3.break 如果缺失的话,是不会退出 switch 的
循环
循环:可以重复执行某些代码
for 循环
while
do while
for
循环体:被循环执行的语句
还要有中止条件
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script>
// 结构
for (初始化变量; 条件表达式; 操作表达式) {
//循环体
}
//初始化变量 就是用var 声明的一个普通变量 用于计数器的作用
//条件表达式:啥时候停止
//操作表达式:每次循环最后执行的代码,, 用于 计数器变量进行更新,递增或者递减
for (var i = 1; i <= 100; i++) {
console.log('love hxb');
}
</script>
</head>
<body>
</body>
</html>
i=1 整个执行的过程中只执行一次
执行顺序:
先 i=1 ,然后 判断 i <=100,然后执行 console 语句 ,然后执行 i++、
然后执行 i <=100,然后执行console语句,依次执行下去
断点调试:
检查- --sources–找需要调试的文件—设置断点
控制输出的次数:
关键是接收了一个变量
var num = prompt('请输入次数')
for(var i = 1; i <= num ; i++){
console.log('meme hxb');
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script>
//for 循环可以重复执行不同代码,因为有计数器变量存在,每次 i的值都会变化
//想要输出1个人 1-100 岁
for (var i = 1; i <= 100; i++) {
console.log('这个人今年' + i + '岁了');
}
</script>
</head>
<body>
</body>
</html>
1-100累加和
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script>
//累加和
var sum = 0;
for (var i = 1; i <= 100; i++) {
sum = sum + i;
}
console.log(sum);
</script>
</head>
<body>
</body>
</html>
求学生成绩
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script>
//求学生成绩
var num = prompt('请输入班级的总人数:') //num 班级的总人数
var sum = 0;
var average = 0;
for (i = 1; i <= num; i++) {
var score = prompt('请输入第' + i + '个学生成绩')
// 这里有一个问题 。。。
// prompt 取到的东西是 字符串型,需要转换为 数字型
sum = sum + parseFloat(score);
}
average = sum / num;
alert('班级的总成绩是' + sum);
alert('平均分是' + average);
</script>
</head>
<body>
</body>
</html>
一行打印5个♥
//追加字符串的方式来实现
var str = '';
for(var i = 1; i<=5 ;i++){
str +='♥'
}
console.log(str);
打印的个数 用户来定
var num = prompt('请输入打印个数');
var str = '';
for (var i = 1; i<=num;i++){
str+='♥';
}
console.log(str);
双重for 循环-----循环嵌套
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script>
//双重for循环
for (外层的初始化变量; 外层的条件表达式; 外层的操作表达式) {
for (里层的初始化变量; 里层的条件表达式; 里层的操作表达式) {
//执行语句
}
}
//2.可以把里面的循环看作是外层循环的语句
//3.外层循环 循环一次, 里面的循环执行全部
for (var i = 1; i <= 3; i++) {
console.log('这是外层循环第' + i + '次');
for (var j = 1; j <= 3; j++) {
console.log('这里里层循环第' + i + '次');
</script>
</head>
<body>
</body>
</html>
5行5列♥
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script>
//打印五行五列♥
var str = '';
for (var i = 1; i <= 5; i++) {//外层负责行
for (var j = 1; j <= 5; j++) {//内层负责列
str = str + '♥';
}
//打印完一行以后换行
str = str + '\n';
}
console.log(str);
</script>
</head>
<body>
</body>
</html>
n行n列 ♥
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script>
//打印n行n列
var rows = prompt('请输入行数');
var cols = prompt('请输入列数');
str = '';
for (var i = 1; i <= rows; i++) {
for (var j = 1; j <= cols; j++) {
str = str + '♥';
}
str = str + '\n';
}
console.log(str);
</script>
</head>
<body>
</body>
</html>
打印倒三角1
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script>
// 打印倒三角
var str = '';
for (var i = 1; i <= 5; i++) {
for (var j = i; j <= 5; j++) {
str += '♥';
}
str += '\n';
}
console.log(str);
</script>
</head>
<body>
</body>
</html>
打印倒三角2
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script>
//打印dao三角
var str = '';
for (var i = 10; i >= 1; i--) {
for (j = i; j >= 1; j--) {
str += '♥';
}
str += '\n';
}
console.log(str);
</script>
</head>
<body>
</body>
</html>
打印正三角
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script>
//打印正三角
var str = '';
for (var i = 1; i <= 10; i++) {
for (j = 1; j <= i; j++) {
str += '♥';
}
str += '\n';
}
console.log(str);
</script>
</head>
<body>
</body>
</html>
九九乘法表
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script>
//九九乘法表
var str = '';
for (i = 1; i <= 9; i++) {
for (j = 1; j <= i; j++) {
str += j + 'x' + i + '=' + i * j + '\t';
}
str += '\n';
}
console.log(str);
</script>
</head>
<body>
</body>
</html>
while循环
里面要有计数器 初始化变量
也要有操作表达式 完成计数器的更新 防止死循环
和for 不同的是,她的的操作表达式是写在语句里面的 ,不是写在括号里的
例子
var message = prompt('are you kidding');
while(message != 'no'){
message = prompt('are you kidding');
}
alert('hhhhhh');
do while
do{
//循环体
}while(条件表达式)
和while不同的是
do while 先执行一次循环体,再判断条件,如果条件表达式结果为真,则继续执行循环体,否则推出循环体
do while 循环体至少循环一次
continue break关键字
continue------------------->跳出本次循环,继续下一次循环
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script>
// continue 关键字
for (var i = 1; i <= 5; i++) {
if (i == 3) {
continue;
}
console.log('我正在吃第' + i + '个包子');
}
</script>
</head>
<body>
</body>
</html>
求 1-100之间,除了能被7整除的数的和
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script>
// continue 关键字 求 1-100之间,除了能被7整除的数的和
var sum = 0;
for (var i = 1; i <= 100; i++) {
if (i%7 == 0) {
continue;
}
sum += i;
}
console.log(sum);
</script>
</head>
<body>
</body>
</html>
break
立即跳出 整个循环
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script>
// break 关键字
for (var i = 1; i <= 5; i++) {
if (i == 3) {
break;
}
console.log('我正在吃第' + i + '个包子');
}
</script>
</head>
<body>
</body>
</html>