一.判断语句
1.if-else条件判断语句
if () {} else {},此为最常见的if判断语句。当判断的执行代码只有一句时,可将大括号去掉。
例1:
let food ="馒头"
//此处有三种情况,一是馒头,二是寿司,三是既不是馒头,又不是寿司。当是馒头时,显示“馒头不好吃,又干又硬”,其它显示"吃到什么,什么好吃"
if(food === "馒头"){
console.log("馒头不好吃,又干又硬")
} else {
console.log("吃到什么,什么好吃")
}
例2
let food ="寿司"
//此处有三种情况,一是馒头,二是寿司,三是既不是馒头,又不是寿司。当是馒头时,显示“馒头不好吃,又干又硬”,当是寿司时,显示"寿司好吃,又软又糯",其它显示"吃到什么,什么好吃"
if(food === "馒头"){
console.log("馒头不好吃,又干又硬")
} else { if(food === "寿司"){
console.log("寿司好吃,又软又糯")
} else{
console.log("吃到什么,什么好吃")
}
也可直接写成:
let food ="寿司"
//此处有三种情况,一是馒头,二是寿司,三是既不是馒头,又不是寿司。当是馒头时,显示“馒头不好吃,又干又硬”,当是寿司时,显示"寿司好吃,又软又糯",其它显示"吃到什么,什么好吃"
if(food === "馒头"){
console.log("馒头不好吃,又干又硬")
} else if(food === "寿司"){
console.log("寿司好吃,又软又糯")
} else {
console.log("寿司好吃,又软又糯")
}
重点,if后的括号里,其本质是布尔值。
测试例:
let a
if(a){
console.log("a里面有内容")
}else {
console.log("a里面没有内容") //此处a的本质是undefined,又因undefined的布尔值是false,所以显示a里面没有内容
}
2.switch-case判断语句
switch常用于判断条件过多的情况。
例:
let a = 9
switch (a){
case 1 : //当是1时,显示1
console.log(1)
break ;
case 2 :
console.log(2)
break ;
case 3 :
console.log(3)
break ;
case 4 :
console.log(4)
break ;
default :
console.log("不确定") //当不是1,2,3,4时,都显示“不确定”
}
其过程就是计算一下switch后的表达式,并将结果与case中的对比,在执行关联代码。其局限性是:只能进行精确匹配,不能进行范围判断。
一.循环语句
1.for循环语句
for循环语句可精确控制循环次数,来快速实现代码多次重复执行
for(A;B;C){
D;
}
- A:循环的初始化条件
- B:循环的终止条件
- C:单次循环后的状态
- D:单词循环的执行代码
其执行顺序为:A -> B -> D -> C ->B -> D -> C…直到符合终止条件结束。
例1:
let a = 5
//i可变,a固定。首先,定义i为0,i小于5,执行打印代码,显示0;0<5,i加1,打印1;i又加1.....直到i等于4,打印,当再加1时,等于5,不符合条件,停止。
for(let i = 0; i<a; i++){
console.log(i)
} //其最后的结果是打印0,1,2,3,4
例2:
let arr = [1,4,8,2,5,7]
for (let i = 0 ; i<arr.length ; i++){ //此处arr.length为6,i可变,打印i的话,从0到5
console.log(i,arr[i])
}
for里面的条件都可以在循环外定义,但两个分号一定要写。
for(let i = 0; i<5; i++){
for(let j = 0; j<4; j++){
console.log(j)
}
}
在for循环和if判断语句中可无限嵌套多个语句,上例中的循环次数为i*4+5.
2.while循环语句
先判断,再执行
例:
let i = 0
while(i<5){
console.log(i) //此处打印0-4
i++;
}
3.do-while循环语句
先执行,再判断
let i = 5
do{
console.log(i) //此处打印5
i++
} while(i<4)
根据此例,可发现,当不符合条件时,也会执行一次。但当i的初始值小于判断条件时,while与do-while是相同的。