12-if分支语句
<script>/* // 1. if 的语法结构 if (条件表达式){ // 执行语句 }*/ // 2. 如果条件表达式为真,则执行大括号内的执行语句 // 3. 如果 条件表达式为假,则不执行 var age = 16; if(age>=18){ console.log(‘可以买酒‘); } else{ console.log(‘不可向未成年人出售烟酒‘); } </script>
13-进入网吧案例
<script> /* 进入网吧案例 ① 弹出prompt 输入年龄 ② if判断输入值是否大于18 ③ 是,则可以进入网吧;否,则不可以 */ var age=prompt(‘please input your age:‘); if(age>=18){ alert(‘您可以进入网吧‘); } else{ alert(‘您不可以进入网吧,滚去学习‘); } </script>
14-判断闰年案例
<script> /* 判断闰年案例 ①输入年份 ②判断年份是否是闰年 ③如果是,就弹出闰年 ④如果不是,就弹出是平年 */ var year=prompt(‘请输入你年份‘); if(year%4==0 && year%100!==0 || year%400==0 ){ alert(year+‘是闰年‘); } else{ alert(year+‘是平年‘); } </script>
16-if else if多分支语句
<script> /* ①输入姓名 ②判断姓名是否是tb ③如果是,就弹出中奖 ④如果不是,就弹出unlucky */ var yourName=prompt(‘please input your name:‘); if (yourName==‘tb‘|| yourName ==‘daisy‘){ alert(‘Lucky boy, you own the award!!‘) } else{ alert(‘Unluckyman, you miss it.‘) } </script>
17-判断成绩案例
<script> /* ①获取输入分数 ②if else分支语句判断输入分数符合哪一个分支的条件 ③ */ var score=prompt(‘please input your score:‘); if (score>=90){ alert(‘Excellent!! Your grade is : A‘) }else if(80<=score && score<90){ alert(‘Great! Your grade is : B‘) }else if(70<=score && score<80){ alert(‘Good! Your grade is : C‘) }else if(60<=score && score<70){ alert(‘Not Bad! Your grade is : D‘) }else{ alert(‘I am sorry. Your grade is : E‘) } </script>
18-三元表达式
<script> /* 三元表达式 1. 由三元运算符组成的式子,e.g. 条件表达式? 表达式1:表达式2 2. 执行思路:条件真,返回表达式1;条件假,返回表达式2; 3. 可以理解为,简化版的判断语句 */ var num=10; var bo=num>5? ‘yes‘:‘no‘; alert(bo); // if语句实现同等效果: if(num>5){ alert(‘yes‘) }else{ ‘no‘ } </script>
19-数字补0案例
<script> /* 三元表达式 1. 声明,输入一个0-59的数字 2. 判断,数字是否小于十,是,则补0 3. 输出 */ var num1=prompt(‘please input a number(0~59)‘); //用if判断语句 // if(num1<10){ // console.log(0+num1); // }else{ // console.log(num1); // } // 用三元表达式 num1<10? alert(‘0‘+num1):alert(num1); </script>
20- switch:分支语句
<script> /* 1. switch语句也是多分支语句,可以实现多选1 2. 语法结构 switch转换、开关、case例子或者选项的意思 */ /* switch(表达式){ // 3. 表达式和value进行匹配,匹配上就执行,都没有就执行最后一个; case value1:执行语句1;break; case value2:执行语句2;break; case value3:执行语句3;break; default:最后的语句 } */ // 4. 代码验证 var num1=prompt(‘input a number:‘); switch(parseInt(num1)){ case 1:alert(‘a‘);break; case 2:alert(‘b‘);break; case 3:alert(‘c‘);break; case 4:alert(‘d‘);break; case 5:alert(‘e‘);break; case 6:alert(‘f‘);break; case 7:alert(‘g‘); break; default:alert(‘nothing‘); }
// 总结:如果是特定值用switch;如果是一个范围用else if
</script>
21-switch注意事项
<script> /* 1. switch语句也是多分支语句,可以实现多选1 2. 语法结构 switch转换、开关、case例子或者选项的意思 */ /* switch(表达式){ // 3. 表达式和value进行匹配,匹配上就执行,都没有就执行最后一个; case value1:执行语句1;break; case value2:执行语句2;break; case value3:执行语句3;break; default:最后的语句 } */ // 4. 代码验证 // var num=2; /* switch(num){ // 这个switch括号内的值要和case后的值全等===才能匹配上 case 1:console.log(1);break; case 2:console.log(2);break; case 3: console.log(3); break; } */ // 没有break会发生什么? ——继续执行下一个case,直到break var num = 1; switch (num) { case 1: console.log(1); case 2: console.log(2); case 3: console.log(3); break; } // 在开发中,表达式经常被写成变量; // switch()和case里的值匹配时,必须是全等才有效,即===,数据类型和值都相等,如5和‘5‘的区别 // 如果没有break,那么switch会在执行完这个case后,继续执行下一个case </script>
22-查询水果价格案例
<script> /* 查询水果价格 ① 声明,输入水果名称 ② 输入的是字符串,case后面也要是字符串‘ ③ defult是“没有此水果” */ var fruitPr=prompt(‘please input the fruit:‘); switch(fruitPr){ case ‘橙子‘:alert(fruitPr+ ‘:‘ + ‘ 5rmb‘);break; case ‘西瓜‘:alert(fruitPr+ ‘:‘ + ‘ 3rmb‘);break; case ‘苹果‘:alert(fruitPr+ ‘:‘ + ‘ 4rmb‘);break; case ‘猕猴桃‘:alert(fruitPr+ ‘:‘ + ‘8rmb‘);break; case ‘山竹‘:alert(fruitPr+ ‘:‘ + ‘10rmb‘);break; case ‘葡萄‘: alert(fruitPr + ‘:‘ + ‘9rmb‘); break; default: alert("there‘s no "+fruitPr); } </script>
if else和switch
①一般情况下,它们两个语句可以相互替换
② switch..case语句通常处理case为比较确定值的情况,而i.else.语句更加灵活,常用于范围判断(大于、等于某个范围)
③ switch语句进行条件判断后直接执行到程序的条件语句,效率更高。而if...else语句有几种条件,就得判断多少次。
④当分支比较少时,if...else语句的执行效率比 switch语句高。
⑤当分支比较多时, switch语句的执行效率比较高,而且结构更清晰
大作业
<script> // 1.判断时间阶段。比如用户输入12点弹出中午好,用户輸入18点弹出傍晚好,用户输入23点弹出深夜好 /* var time=prompt(‘请输入时间__点:‘); if(time==12){ alert(‘中午好!‘); }else if(time==18){ alert(‘傍晚好!‘); }else if(time==23){ alert(‘深夜好!‘); } */ // 2.比较两个数的最大值(用户依次输入2个值,最后单出最大的那个值) /* var num1=prompt(‘please input the first number:‘); var num2=prompt(‘please input the second number:‘); if(num1>num2){ alert(‘the bigger one is:‘+num1); }else{ alert(‘the bigger one is:‘ + num2); } */ // 3.用户输入一个数,来判断是奇数还是偶数 /* var numb = prompt(‘please input a number:‘); if(numb % 2 == 0){ alert(numb + ‘是偶数‘); }else{ alert(numb + ‘是奇数‘); } */ // 4.根据用户输入的数值(数字1到数字7),返回星期几 /* var weekd=prompt(‘please input a number(1~7):‘); switch(parseInt(weekd)){ case 1:alert(‘星期一‘);break; case 2:alert(‘星期二‘);break; case 3:alert(‘星期三‘);break; case 4:alert(‘星期四‘);break; case 5:alert(‘星期五‘);break; case 6:alert(‘星期六‘);break; case 7:alert(‘星期日‘);break; default:alert(‘???what the fuck???‘); } */ // 5.接收班长口袋里的钱数?若大于等于2000,请大家吃西餐。若小于2000,大于等于1500,请大家吃快餐。若小于1500,大于等于1000,请大家喝饮料。若小于1000,大于等于500,请大家吃棒桲糖。否则提醒班长下次把钱帯够; /* var money=prompt(‘please input the rest money you have:‘); if(money>=2000){ alert(‘吃西餐‘); }else if(money<2000 && money>=1500){ alert(‘吃快餐‘); }else if(money<1500 &&money>=1000){ alert(‘喝饮料‘); }else if(money<1000 && money>=500){ alert(‘吃糖果‘); }else{ alert(‘下次带够钱嗷‘); } */ // 6.分数转换:给一个分数,判定等级。大于等于90A,大于等于80小于90B,大于等于70小于80C,大于等于60小于70D,小于60E; /* var score = prompt(‘please input the score:‘); if (score >= 90) { alert(‘A‘); } else if (score < 90 && score >= 80) { alert(‘B‘); } else if (score < 80 && score >= 70) { alert(‘C‘); } else if (score < 70 && score >= 60) { alert(‘D‘); } else { alert(‘E‘); } */ // 7.预习下循环控制for循环 </script>