这个代码不能跟预期一样返回到重新选择的页面而是在其中一个操作里面循环,给我第一感受是break语句没发挥作用
var sum=100;
var select=prompt('请输入操作选项:' +
'1.存钱' +
'2.取钱' +
'3.查询余额' +
'4.退出');
var num=parseFloat(select);
while (1){
switch (num){
case 1:
var a=prompt('请输入存款金额:');
var add=sum+a;
alert('存款成功!');
break;
case 2:
var d=prompt('请输入取款金额:');
var del=sum-d;
alert('取款成功!');
break;
case 3:
alert('您的余额为:'+sum);
break;
case 4:
alert('退出成功,欢迎下次光临!');
break;
default:
alert('输入错误!');
break;
}
console.log(0);
}
原因:整个swtich语句没有完全包含在while循环中。
以下是改良后的代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>取款机</title>
<script>
var sum=100;
var flag=0;
while (1){
var select=prompt('请输入操作选项:' +
'1.存钱' +
'2.取钱' +
'3.查询余额' +
'4.退出');
var num=parseFloat(select);
switch (num){
case 1:
var a=prompt('请输入存款金额:');
var a2=parseFloat(a);
if (a2>0){
sum=sum+a2;
alert('存款成功!您当前余额为:'+sum+'元');
}
else {
alert('输入内容有误!')
}
break;
case 2:
var d=prompt('请输入取款金额:');
var d2=parseFloat(d);
if (sum-d2<0){
alert('余额不足!当前剩余:'+sum+'元')
}
else {
sum=sum-d2;
alert('取款成功!您当前余额为:'+sum+'元');
}
break;
case 3:
alert('您的余额为:'+sum+'元');
break;
case 4:
alert('退出成功,欢迎下次光临!');
falg;
break;//此处break不执行
default:
alert('输入错误!请重新输入');
break;
}
}
</script>
</head>
<body>
</body>
</html>