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>