1 switch语句
语法格式:
switch (expression) {
case 常量1:
语句;
break;
case 常量2:
语句;
break;
…
case 常量n:
语句;
break;
default:
语句;
break;
}
switch中大于小于的使用
因为switch是全等比较,所以可以在switch括号里写true
,和case后面的条件比较
value获得的是字符串,比较的时候最好转为number;
btn.onclick = function() {
console.log(typeof(txt.value));
var score = Number(txt.value);
console.log(typeof(score));
switch (true) {
case score >= 90 && score <= 100:
console.log('优秀');
break;
case score >= 60 && score < 90:
console.log('良好');
break;
case score >= 0 && score < 60:
console.log('不及格');
break;
default:
console.log('输入有误');
}
}
要点
- switch 语句在比较值时使用的是全等操作符, 因此不会发生类型转换(例如,字符串’10’ 不等于数值 10)
- 注意switch语句的穿透性,只要没遇到
break
,就会继续往下执行 - 当以上条件都不满足时就执行默认情况
default
,并且可以出现在代码的任何位置,不过推荐写在最下面
2 if语句和布尔值
三元运算符
-
语法结构
表达式1 ? 表达式2 : 表达式3;
-
执行思路
- 如果表达式1为 true ,则返回表达式2的值,如果表达式1为 false,则返回表达式3的值
- 简单理解: 就类似于 if else (双分支) 的简写
3 循环结构
for in 循环
- for循环 用于数组等有长度的遍历
- 而对于对象这种没有长度的就使用 for in 循环
for key in obj
类似于字典或者hashmap中的键值对
- 但是同样数组也可应用for in循环,这样key就直接获得数组元素的下标了
do…while语句(后测循环语句)
do…while循环和while循环非常像,二者经常可以相互替代,但是do…while的特点是不管条件成不成立,都会执行一次。
基础语法:
do {
// 循环体;
} while (循环条件);
continue和break
- break:立即跳出整个循环,即循环结束,开始执行循环后面的内容(直接跳到大括号)
- continue:立即跳出当前循环,继续下一次循环(跳到i++的地方)