<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
</head>
<body>
<script>
var rmb = 123; //初始余额
while (true) {
var action = prompt(
//页面
"请选择办理的业务:\n1.存款\n2.取款\n3.查看余额\n4.取卡"
);
/* switch 语句
传入一个表达式或一个值
从上往下执行,把表达式的值与每个 case 的值进行对比
如果存在匹配,则执行关联代码,不匹配会break
最后一个case或default不用break,会自动中断 */
// break 跳出循环
/* 如果 JavaScript 遇到 break 关键词,它会跳出 switch 代码块,
终止后续case语句及代码的执行。 */
/* 3. default 关键词
default 关键字规定case不匹配时所运行的代码,
defaullt 不必是 switch 代码块中最后一个 case */
/* 5. 使用严格比较(===)
Switch case 使用严格比较(===),
必须值和数据类型都相同才能匹配。
本例中,rank 将不匹配,执行default中代码。 */
switch (parseInt(action)) {
case 1:
//1.存款
var ck = prompt("请输入你要存入的余额:");
if (ck == "") {
alert("请输入你要办理的序号");
} else {
// 存款计算
rmb += parseInt(ck);
alert("你当前的余额为" + rmb + "元");
}
break;
case 2:
// 2.取款
var qk = prompt("请输入你的取款余额:");
if (qk == "") {
alert("请输入序号办理!");
} else if (rmb >= qk) {
// 取款计算
rmb = rmb - parseInt(qk);
alert("你当前的余额为" + rmb + "元");
} else {
alert("你当前的余额不足,请重新输入");
}
break;
case 3:
// 查询
alert("你当前的余额为" + rmb + "元");
break;
case 4:
{
alert("你的银行卡已退出");
}
break;
default:
alert("你输入的业务序号有误,请重新输入!");
break;
}
if (action == 4) {
// 终止循环
break;
}
}
</script>
</body>
</html>