<!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>while</title>
<script>
/* 循环结构(重点)
循环结构,就是根据某些给出的条件,重复的执行同一段代码
循环必须要有某些固定的内容组成
1. 初始化
2. 条件判断
3. 要执行大的代码
4. 自身改变 */
// 1. 初始化条件
var num = 0
// 2. 条件判断
while (num < 10){
// 3. 要执行的代码
console.log('当前的 num 的值是' + num)
// 4. 自身改变
num = num + 1
}
// 案例1:求 1 ~ 100 所有数字的和 5050
var n = 1
var num = 0
while(n <= 100){
// console.log(n)
num += n
n++
}
console.log(num)
// 案例2: 求一个数字的阶乘
var i = 5
var num = 1
while(i > 0){
num *= i
i--
}
console.log(num)
/* do while 循环
是一个和while循环类似的循环
while会先进行条件判断,满足就执行,不满足就不执行了
但是do while 循环是,先不管条件,先执行一回,然后在开始进行条件判断
语法:do {要执行的代码} while (条件) */
// 下面这个代码,条件一开始就不满足,但是依旧会执行一次 do 后面 {} 内部的代码
var num = 10
do {
console.log('我执行了一次')
num = num + 1
}while (num < 10)
do{
var res = prompt("请输入你的名字")
// console.log(res)
if(res){
document.write(res)
}
}while(!res)
/* for循环
和while和do while 循环都不太一样的一种循环结构
道理是和其他两种一样的,都是循环执行代码的
语法:for(var i = 0; i < 10; i++) {要执行的代码}
*/
// 把初始化,条件判断,自身改变,写在了一起
for (var i = 1; i <= 10; i++){
// 这里写的是要执行的代码
}
// 控制台会依次输出 1~10
</script>
</head>
<body>
</body>
</html>
2,switch如下所示;
<!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>switch</title>
<script>
/* switch(要判断的变量){
case 情况1:
情况1要执行的代码
break
case 情况2:
情况2要执行的代码
case 情况3:
情况3要执行的代码
default:
上述情况都不满足的时候执行的代码
} */
var sum = 80
var youhuisum
switch(true){
case sum >= 200:sum
youhuisum = sum - 10
break;
case sum >= 100 && sum < 200:
youhuisum = sum - 5
break;
case sum >= 50 && sum < 100:
youhuisum = sum - 3
break;
default:
youhuisum = sum
break;
}
console.log(sum, youhuisum)
</script>
</head>
<body>
</body>
</html>
3,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>break-continue</title>
<script>
// break终止循环
/* 在循环没有进行完毕的时候,因为我设置的条件满足,提前终止循环
比如:我要吃五个包子,吃到三个的时候,不能在吃了,我就停止吃包子这个事情
要终止循环,就可以直接使用break关键字 */
for (var i = 1; i <= 5; i++){
//没循环一次,吃一个包子
console.log('我吃了一个包子')
// 当i的值为3的的时候,条件为true,执行{}里面的代码终止循环
// 循环就不会继续向下执行了,也就没有4和5了
if(i === 3){
break
}
}
// continue 结束本次循环
/* 在循环中,把循环的本次跳过去,继续执行后续的循环
比如:吃五个包子,到第三个时候,第三个掉掉地上了,不吃了,跳过第三个,继续吃第四个和第五个
跳过本次循环,就可以使用continue关键字 */
for (var i = 1; i <= 5; i++){
// 当i的值为3的时候,执行{}里面的代码
// {}里面有continue,那么本次循环后面的代码就都不执行了
// 自动算作为3的这一次结束了,去继续执行 i = 4的那次循环了
if(i === 3){
console.log('这个是第三个包子,掉地下了,我不吃了')
continue
}
console.
log('我吃了一个包子')
}
// 求质数
var n = 19;
var isZhiShu = true
for(var i = 2; i <= n/2; i++){
if(n%i === 0){
isZhiShu = false
break
}
console.log(i)
}
if(isZhiShu){
console.log('是')
}else{
console.log("不是")
}
// 九乘九表
for(var m = 1; m <= 9; m++){
for(var n = 1; n <= m; n++){
document.write(m + "*" + n + " = " + m * n)
document.write(" ")
}
document.write("<br>")
}
</script>
</head>
<body>
</body>
</html>