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>