1. if括号中只需要布尔类型值。那么在if判断中,所有的数据类型都会被隐式转换为布尔类型。
注意:0、-0、null、""(空的string)、false、undefined 或者 NaN在if条件里结果为false
2. 除了+运算符具有两层含义以外,- * /只有数学意义,所以当进行- * /运算的时候默认会将运算符两侧的数据类型隐式转换为数字类型,再进行运算。
switch(语句){ //语句的结果与每一条case内容进行匹配
case 1: alert(1);break;
case 2:alert(2);break;
case 3:alert(3);break;
default:alert(0);
}
注意switch的应用场景(有多个确定值需要判断的时候)
4.开关思想
var isRed = true; //开关 标志位思想
var box = document.getElementById("box");
function fn(){
//只能获取内联样式
//console.log(box.style.background); // "."="的"
if(isRed){
box.style.background = "blue";
//isRed = false;
}else{
box.style.background = "red";
//isRed = true;
}
isRed = !isRed;
var str = "hello";
str.length // 得到长度
6. 计算某月的第一天是这一年的第几天 要求:利用case穿透简化代码
<input type="text" id="month">
<button onclick="calc()">天数</button>
<script>
//2月的润平年天数完善
var input = document.getElementById("month");
function calc(){
var month = Number(input.value);
var day = 1;
switch(month){
case 12: day += 30; //11月
case 11: day += 31; //10月
case 10: day += 30;
case 9 : day += 31;
case 8 : day += 31;
case 7 : day += 30;
case 6 : day += 31;
case 5 : day += 30;
case 4 : day += 31;
case 3 : day += 28; //判断闰年
case 2 : day += 31;
case 1 : day += 0;
break;
default: day = 0;
}
if(day == 0){
alert("请输入1-12");
}else{
alert(month+"月的1号是这一年的第"+day+"天");
}
}
</script>