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;
}
以下是一些算法题的代码:(执行时需要改变函数的函数名调用每一个例题函数执行)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>分支结构</title>
</head>
<body>
<!-- 编写一个收银程序,根据商品的单价、购买的数量以及收款金额计算并输出应收金额和找零 -->
<script type="text/javascript">
function getMoney(){
// 定义输入变量:商品单价price、购买的的数量count、
// 收款金额money
var price,cont,money;
//定义输出变量:消费金额sumPrice、找零coins
var sumPrice,coins;
// 弹框接受输入的值:单价、数量
price = prompt("请输入商品单价:");
count = prompt("请输入商品数量:");
// 计算商品总价
sumPrice = price*count;
// 判断是否打折
if(sumPrice>=500){
sumPrice *=0.8;
alert("您消费到达500,享受8折优惠!");
}
alert("您共消费:"+sumPrice+"元");
// 接受付款金额
money = prompt("请付钱:");
//判断付款金额是否大于消费金额
if(money >= sumPrice){
// 计算找零
count = money - sumPrice;
alert("找您:"+count);
}
else
alert("钱不够!"); }
getMoney();//函数调用口
</script>
<script type="text/javascript">
//1. 通过弹框输入年月日,判断该日是这一年的第多少天?
function ymd(){
// 定义输入变量
var year = prompt("请输入年份:");
var month = prompt("请输入月份:");
var date = prompt("请输入日期:");
// 通过月份判断
switch(Number(month)){
case 1:month =0;break;
case 2:month=31;break;
case 3:month=59;break;
case 4:month=90;break;
case 5:month=120;break;
case 6:month=151;break;
case 7:month=181;break;
case 8:month=212;break;
case 9:month=243;break;
case 10:month=273;break;
case 11:month=304;break;
case 12:month=334;break;
}
date=month + Number(date);
// 判断输入年份是否是闰年
if((year%4==0 && year%100!=0) || year%400==0){
if(month>=2)
date +=1;
}
console.log("今天是今年的第:"+date+"天");
}
// 2.模拟电话银行按键程序
function bank(){
// 通过switch选择系统功能
var press = prompt("请输入数字选择功能(1.查询余额2.取款3.转换4.退出系统):");
switch(Number(press)){
case 1:seek();break;
case 2:draw();break;
case 3:change();break;
case 4:exit();break;
}
function seek(){
console.log("余额查询中……");
}
function draw(){
console.log("取款进行中……");
}
function change(){
console.log("转账进行中……");
}
function exit(){
console.log("退出系统,谢谢使用!");
}
}
// 3.买保险
// 已婚都可以买
// 未婚男<25不买
// 未婚女<22不买
function insure(){
// 弹框接受员工信息:婚否、性别、年龄
var isMarry = prompt("是否已婚(Y|N):");
var sex = prompt("请输入性别(M|W):");
var age = prompt("请输入年龄:");
if(isMarry=="Y"){
console.log("公司为您提供保险!");
}else if ((sex=="M" &&age<25)||(sex=="W" && age<22)) {
console.log("不满足公司提供保险条件!");
}else{
console.log("满足公司提供保险条件!");
}
}
// 4.某超市促销活动
// 会员总价>100 八折 <100 9折
// 非会员>100 九折 <100 不打折
function superMk(){
//弹框询问是否是会员(0|1)
//弹框询问商品总价格
//定义变量:是否会员isVIP、价格price
var isVIP = prompt("是否是会员(0|1):");
var price = prompt("商品总价格为:");
// 判断是否是会员
if(isVIP==1){
if(price>100){
price = price *0.8;
console.log("您是会员且购买金额超过100可以打八折"); }else{
price = price * 0.9;
console.log("您是会员可以打九折!");
}
}else if(price>100){
console.log("您购买金额超过100可以打九折!");
price = price *0.9;
}
console.log("您需要付款:"+price+"元");
}
// 5.计算1-100之间的和、乘积
function sumPro(){
var sum=0,product = 1;
for(var i=1;i<=100;i++){
sum += i;
product *= i;
}
console.log("和为:"+sum,"乘积为:"+product);
}
// 6.九九乘法表
// 1*1=1
// 1*1=1 1*2=2
function multTable(){
for (var i = 1; i <= 9; i++) {
for (var j = 1; j <=i; j++) {
var mult = i*j;
document.write(j + "*" + i + "=" + mult); }
document.write("<br/>")
}
}
multTable();//函数调用口 </script>
</body>
</html>