0%

js分支与循环

1
知识点: -分支 - 循环

流程控制

1
2
3
4
// 流程控制:控制代码的执行过程
// 1、顺序结构:从上到下,从左到右执行的顺序,就是顺序结构(不严谨)
// 2、分支结构:if语句、if-else语句、switch-case语句
// 3、循环结构:while循环、do-while循环、for循环、for-in循环

分支语句-主要用于判断

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
// if语句-(如果)
// 语法:
if (1 < 3) {
console.log('1是小于3的')
}
// 执行过程:
// 先判断表达式结果是否成立(true/false),如果是true则执行代码块,如果是false,大括号中的代码不执行

// if-else语句-(如果,否则)
// 语法:
if (1 < 3) {
console.log('1小于3') // 代码1
} else {
console.log('1大于3') // 代码2
}
// 执行过程:
// 如果表达式结果成立(true/false),这执行代码1,如果表达式结果是false,这执行代码2

// 三元表达式
// 语法
var result = 1 < 3 ? '小于' : '不小于'
// 执行过程:
// 表达式(1<3)的结果是true还是false,如果是true,则result = '小于',如果是false,则result = '不小于'

// if-else if-else if-else
// 语法
if (表达式1) {
代码1
} else if (表达式2) {
代码2
} else if (表达式3) {
代码3
} else {
代码4
}
// 执行过程
// 先判断表达式1的结果,如果为true,则执行代码1,如果是false,再判断表达式2的结果,如果为true就执行代码2,如果是false再判断表达式3的结果,如果为true就执行代码3,如果上面表达式都是false,就执行代码4

// switch-case语句
// 语法:
switch (表达式) {
case1:
代码1
break
case2:
代码2
break
case3:
代码3
break
default:
代码4
}
// 执行过程
// 获取表达式的值,和值1比较,如果一样,就执行代码1,遇到break,跳出整个语句。后面代码不执行,
// 如果和值1不一样,就和值2比较,然后执行代码2,遇到break,跳出整个语句,后面代码不执行。
// 以此类推。。。
// 如果都不一样,执行代码4

// 总结分支语句
// if语句:一个分支
// if-else语句:两个分支,最终只执行一个分支
// if-else if-else if...语句: 多个分支,也是只会执行一个
// switch-case语句:多分支语句,最终也会一个(必须要有break)
// 三元表达式:和if-else语句是一样的
// 什么时候使用if-else if...: 一般是对范围的判断
// 什么时候使用switch-case语句:一般是对具体的值的判断
// 如果有多个分支,是针对范围的判断一般选择if-else if的语句
// 如果有多个分支,是针对具体的值判断,一般选择用switch-case语句

循环语句

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
// 循环:一件事不停的或反复的去做
// 循环要有结束的条件,循环还应该有记录循环次数的计数器

// while循环
// 语法:
var num = 0 // 计数器
while (num <= 5) {
console.log('循环体')
num++
}
// 执行过程
// 先判断条件是否成立,如果为true,那么执行循环体中的代码,计数器加一,再继续判断条件是否成立,如果为true,那么继续执行循环体中的代码,计数器继续加一,再判断循环条件,直到循环条件不成立,循环结束。
// 如果循环的条件一直为true,那么循环体中代码会一直执行,这种称为死循环。我们应该尽量避免死循环。

// do-while循环
// 语法:
var num = 1
do {
console.log('循环体')
} while (num <= 5) // 条件
// 执行过程:
// 先执行一次循环体,然后判断条件是否成立,不成立就跳出循环,成立就执行循环体,然后再判断。。以此类推。。直到条件不成立,跳出循环。

// while循环特点:先判断,后循环,有可能一次循环体都不执行
// do-while循环特点:先循环,后判断,至少执行一次循环体

// for循环
// 语法:
for (var i = 0; i < 5; i++) {
// 表达式1、2、3
console.log('循环体')
}
// 执行过程
// 先执行一次表达式1,然后判断表达式2,如果不成立,就跳出循环,如果成立,就执行循环体的代码,执行完毕后跳到表达式3,然后跳到表达式2,判断表达式2是否成立。。以此类推。。直到表达式2不成立后跳出循环

break 与 continue

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
//break关键字:如果在循环中使用,遇到了break,则立刻跳出当前所在的循环
for (var i = 0; i < 10; i++) {
while (true) {
console.log('哈哈')
break // 遇到break 跳出循环
}
}

//continue:在循环中如果遇到continue关键字,直接开始下一次循环
//案例:求100-200之间所有的奇数的和
var sum = 0
var i = 100
while (i <= 200) {
//判断是不是偶数
if (i % 2 == 0) {
//如果是偶数----->跳过这个数字
i++ //102
continue
}
sum += i
i++
}
console.log(sum)
请作者喝杯咖啡