案例–简易ATM
需求:
- 里面现存有 100 块钱。
- 如果存钱,就用输入钱数加上先存的钱数, 之后弹出显示余额提示框
- 如果取钱,就减去取的钱数,之后弹出显示余额提示框
- 如果显示余额,就输出余额
- 如果退出,弹出退出信息提示框
操作界面如下:

// 解法一:
var sumMoney = 100; // 一共有 100 元
var saveMoney = 0; // 用户要存储的金额
var drawMoney = 0; // 用户要取出的金额
do {
var num = +prompt('输入您要的操作:\n1.存钱\n2.取钱\n3.显示余额\n4.退出');
if(num == 1) { // 1.存钱
saveMoney = +prompt('请输入要存储的金额(元):');
sumMoney += saveMoney
alert('您的余额为:' + sumMoney + '元');
} else if(num == 2) { // 2.取钱
drawMoney = +prompt('请输入要取出的金额(元):');
if(drawMoney > sumMoney){ // 2.1.取的钱超额了
alert('账户余额不足!');
} else { // 2.2.可以正常取钱
sumMoney -= drawMoney
alert('您的余额为:' + sumMoney + '元');
}
} else if(num == 3) { // 3.显示余额
alert('您的余额为:' + sumMoney + '元');
} else if (num == 4) { // 4.退出
continue;
} else {
alert('系统未识别操作!请重新输入!');
}
} while (num != 4);
// 解法二:
var saveMoneySum = 0;
var drawMoneySum = 0;
var yourMoney = 100;
//通过for和计数器为2达到循环效果
for (var i = 0; i < 2; i++) {
var num = +prompt('输入您要的操作:\n1.存钱\n2.取钱\n3.显示余额\n4.退出');
if (num != 4) {
//i--会使代码得到循环
i--;
if (num == 1 || num == 2) {
//存钱(当输入1时)
if (num == 1) {
var saveMoney = +prompt('请输入存钱金额:');
saveMoneySum += saveMoney;
}
//取钱(当输入2时)
else {
var drawMoney = +prompt('请输入取钱金额:');
if (drawMoney <= yourMoney) {
drawMoneySum += drawMoney;
} else {
alert('金额不足');
}
}
var yourMoney = saveMoneySum - drawMoneySum + 100;
var hint = alert('当前金额:' + yourMoney);
}
//显示金额(当输入3时)
if (num == 3) {
alert('当前金额为:' + yourMoney + '元');
}
//输入其它会报错
if (num != 1 && num != 2 && num != 3) {
alert('输入错误!请输入正确数字!');
}
}
// i++会打断代码的循环(当输入4时)
else {
i++;
}
}

692





