JS的switch语句重复调用

这个代码不能跟预期一样返回到重新选择的页面而是在其中一个操作里面循环,给我第一感受是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>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值