1.程序的三大结构
顺序结构:

选择(分支)结构:

循环结构:
2.程序的单分支结构 if 语句
if(你是女的){👌☺ 那我们就约起。
}
if(你是男的)✋(•ˇ‸ˇ•)
我不搞基
}当条件判断为真true时,执行花括号内的语句,如果条件为假,跳过花括号内的语句
if(条件){
执行语句
}
if(条件){
执行语句1;为真时执行
} else {
执行语句2;为假时执行
}if()括号里面的东西我们通常也叫它逻辑点 为真true,为假false,这是布尔值,需要通过逻辑运算符得到。
但是: if(1){ alert("会弹出来么?"); } 1是数值型,不是布尔值,更不是true?为什么会执行花括号内的语句了呢?
在一些特定的情况下,计算机会进行一些隐式转换,他和强制类型转换不一样,他不需要你做什么,会自动对数据类型进行转换
在运算中,if(小括号)中的语句会发生隐式类型转换。
1.运算中的隐式类型转换:
var a = "1",b = 2;
a + b = ??? +号有两种含义:
数学中的+号运算符;字符串的拼接。
优先字符串拼接,所以在检测到+号左右两边存在字符串的时候,会自动将另一边不是字符串的数据,转成字符串,再进行操作 a - b = ??? 除了+号有两层意义为外,-*/%号只有数学意义,所以当进行-*/%的时候,默认将运算符两边的数据类型隐式转换成数字类型再进行运算
if(小括号)内的隐式类型转换。 if()中只需要布尔值,那么在if判断中,会把括号内所有的数据类型,都隐式转换成布尔型。 在if()中,非零数字都会转成true,非空字符串都会转成true;这是两条基础规则,其他规则后面会提到。 alert(1 == true)
2.程序的多分支switch语句/break关键字
switch()多分支语句
switch(){
case 0:alert("零"); break;
case 1:alert("一");
case 2:alert("二");
default:alert("不识别的数字");
}switch()内,不能做判断,同时在case后也不能做判断,
注意:如果判定的是范围,不要使用switch语句;判定具体数据的时候,才使用switch
注意switch的应用场景:有多个确定值需要判断的时候
注意default相当于if语句中的else,当以上条件都不满足的时候,执行default
补充:
1.错误提示信息。
missing ) after argument list 丢失一半括号
Unexpected token ) 意外符号
oYeear is not defined 没有声明oYeear
Cannot read property 'value' of null 无法获取空值的value
Unexpected identifier 意外的标识符
。。。。。。
not defined没有声明undefined没有赋值2.三目运算符
var a = 6;
if(a<10){
a = "0"+a;
}else{
a = a;
}var a = 6;
a = a<10 ? "0"+a : a;三.练习
5.输入年份,计算某一年是否为闰年
6.案例:输入数字,显示星期几,假设1号就是周一
7.案例:输入成绩分数,判定成绩等级(if和switch两种写法)
8.输入月份,显示当月的天数
要求:1) 利用case穿透简化代码
9.小贺刚上班,按工作时间小时制领取周工资,工资标准是,每小时rate元RMB。每周工作时间40小时,如果要加班,超出部分按正常工资的1.5倍计(老板还算不错)。这周小贺上班的时间为hour小时,请编程序,输入rate和hour,输出小贺本周的薪水。