if-else分支 1.if條件應該是boolean類型的值或表達式 2.如果條件不是Boolean,會進行自動轉換 以下幾種情況會預設轉換為 false: if(0)、if(0.0) if(NaN)、if(undefined) if("")、if(null) if(false) switch-ca ...
if-else分支
1.if條件應該是boolean類型的值或表達式
2.如果條件不是Boolean,會進行自動轉換
以下幾種情況會預設轉換為 false:
if(0)、if(0.0)
if(NaN)、if(undefined)
if("")、if(null)
if(false)
switch-case執行流程:
1.解析變數或表達式中的值
2.用解析出來的值與case後的值進行比較 等值運行代碼塊
3.如果值不相等,就執行default:後的代碼塊
switch直落模式:
兩個或多個case之間沒有任何操作代碼,表示這兩個或多個塊要執行同樣的代碼塊,如:
switch(變數/表達式){
case 值1:
case 值2:
case 值3:
語句塊;
break;
default:語句塊;
break;
}
以下是一些演算法題的代碼:(執行時需要改變函數的函數名調用每一個例題函數執行)
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>分支結構</title> 6 </head> 7 <body> 8 <!-- 編寫一個收銀程式,根據商品的單價、購買的數量以及收款金額計算並輸出應收金額和找零 --> 9 <script type="text/javascript"> 10 function getMoney(){ 11 // 定義輸入變數:商品單價price、購買的的數量count、 12 // 收款金額money 13 var price,cont,money; 14 //定義輸出變數:消費金額sumPrice、找零coins 15 var sumPrice,coins; 16 // 彈框接受輸入的值:單價、數量 17 price = prompt("請輸入商品單價:"); 18 count = prompt("請輸入商品數量:"); 19 // 計算商品總價 20 sumPrice = price*count; 21 // 判斷是否打折 22 if(sumPrice>=500){ 23 sumPrice *=0.8; 24 alert("您消費到達500,享受8折優惠!"); 25 } 26 alert("您共消費:"+sumPrice+"元"); 27 // 接受付款金額 28 money = prompt("請付錢:"); 29 //判斷付款金額是否大於消費金額 30 if(money >= sumPrice){ 31 // 計算找零 32 count = money - sumPrice; 33 alert("找您:"+count); 34 } 35 else 36 alert("錢不夠!"); 37 38 } 39 getMoney();//函數調用口 40 </script> 41 <script type="text/javascript"> 42 //1. 通過彈框輸入年月日,判斷該日是這一年的第多少天? 43 function ymd(){ 44 // 定義輸入變數 45 var year = prompt("請輸入年份:"); 46 var month = prompt("請輸入月份:"); 47 var date = prompt("請輸入日期:"); 48 // 通過月份判斷 49 switch(Number(month)){ 50 case 1:month =0;break; 51 case 2:month=31;break; 52 case 3:month=59;break; 53 case 4:month=90;break; 54 case 5:month=120;break; 55 case 6:month=151;break; 56 case 7:month=181;break; 57 case 8:month=212;break; 58 case 9:month=243;break; 59 case 10:month=273;break; 60 case 11:month=304;break; 61 case 12:month=334;break; 62 } 63 date=month + Number(date); 64 // 判斷輸入年份是否是閏年 65 if((year%4==0 && year%100!=0) || year%400==0){ 66 if(month>=2) 67 date +=1; 68 } 69 console.log("今天是今年的第:"+date+"天"); 70 } 71 // 2.模擬電話銀行按鍵程式 72 function bank(){ 73 // 通過switch選擇系統功能 74 var press = prompt("請輸入數字選擇功能(1.查詢餘額2.取款3.轉換4.退出系統):"); 75 switch(Number(press)){ 76 case 1:seek();break; 77 case 2:draw();break; 78 case 3:change();break; 79 case 4:exit();break; 80 } 81 function seek(){ 82 console.log("餘額查詢中……"); 83 } 84 function draw(){ 85 console.log("取款進行中……"); 86 } 87 function change(){ 88 console.log("轉賬進行中……"); 89 } 90 function exit(){ 91 console.log("退出系統,謝謝使用!"); 92 } 93 } 94 // 3.買保險 95 // 已婚都可以買 96 // 未婚男<25不買 97 // 未婚女<22不買 98 function insure(){ 99 // 彈框接受員工信息:婚否、性別、年齡 100 var isMarry = prompt("是否已婚(Y|N):"); 101 var sex = prompt("請輸入性別(M|W):"); 102 var age = prompt("請輸入年齡:"); 103 if(isMarry=="Y"){ 104 console.log("公司為您提供保險!"); 105 }else if ((sex=="M" &&age<25)||(sex=="W" && age<22)) { 106 console.log("不滿足公司提供保險條件!"); 107 }else{ 108 console.log("滿足公司提供保險條件!"); 109 } 110 } 111 // 4.某超市促銷活動 112 // 會員總價>100 八折 <100 9折 113 // 非會員>100 九折 <100 不打折 114 function superMk(){ 115 //彈框詢問是否是會員(0|1) 116 //彈框詢問商品總價格 117 //定義變數:是否會員isVIP、價格price 118 var isVIP = prompt("是否是會員(0|1):"); 119 var price = prompt("商品總價格為:"); 120 // 判斷是否是會員 121 if(isVIP==1){ 122 if(price>100){ 123 price = price *0.8; 124 console.log("您是會員且購買金額超過100可以打八折"); 125 126 }else{ 127 price = price * 0.9; 128 console.log("您是會員可以打九折!"); 129 } 130 }else if(price>100){ 131 console.log("您購買金額超過100可以打九折!"); 132 price = price *0.9; 133 } 134 console.log("您需要付款:"+price+"元"); 135 } 136 // 5.計算1-100之間的和、乘積 137 function sumPro(){ 138 var sum=0,product = 1; 139 for(var i=1;i<=100;i++){ 140 sum += i; 141 product *= i; 142 } 143 console.log("和為:"+sum,"乘積為:"+product); 144 } 145 // 6.九九乘法表 146 // 1*1=1 147 // 1*1=1 1*2=2 148 function multTable(){ 149 for (var i = 1; i <= 9; i++) { 150 for (var j = 1; j <=i; j++) { 151 var mult = i*j; 152 document.write(j + "*" + i + "=" + mult); 153 154 } 155 document.write("<br/>") 156 } 157 } 158 multTable();//函數調用口 159 160 </script> 161 </body> 162 </html>