请帮我看下还有没有更好的逻辑来实现这个练习

请帮我看下还有没有更好的逻辑来实现这个练习

<!DOCTYPE html>

<html>

    <head>

        <meta charset="UTF-8">

        <title>统计员工工资</title>

    </head>

    <body>

    <script>

       //补充代码

       var arr=[], i=0;

       while(i<100){

        var money=prompt("请输入员工工资"),num=parseInt(money);

        if (num>0) {

        arr[i]=num;

        } else if(money=="退出"){

        break;

        }else{

        continue;

        i++;

        }

        i++;

       }

       document.write(arr);

       

    </script>

    </body>

</html>


正在回答

登陆购买课程后可参与讨论,去登陆

3回答

http://img1.sycdn.imooc.com//climg/5aa2352a00013de806670564.jpg

这样就可以无限次输入,且输出退出的时候,停止循环了

  • 你说努力多好 提问者 #1
    while语句前面没有输入money的值,为什么while语句也会执行呢?(这点我不是很理解,还有这样写的话,如果输入退出之外字符,不能被转化位number类型的就会打印出NaN
    2018-03-10 16:34:49
  • 你说努力多好 提问者 #2
    非常感谢!
    2018-03-11 14:46:18
W3C初学者 2018-03-13 21:28:15

     <script type="text/javascript">

    var num = 0;

    var arg = [];

    while(num < 10000){

    var salary = prompt("请输入工资:");

    if (salary == "退出") {

    break;

    } else{

    arg.push(salary);

    num++;

    }

    }

    console.log(arg);

    document.write(arg.toString());


怎么都被占用了呢 2018-03-11 14:16:37

刚开始的时候,money没有被赋值,所以它的值是underfined,不等于“退出”,所以会执行循环,当然,你也可以提前定义一下这个变量。

其次咱们的这个编程题要求的是输入工资或者"退出",为什么还要输入其他非数字字符呢。如果不想被打印NaN,那就不要用parseInt转化了。

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
前端小白入门系列课程
  • 参与学习           人
  • 提交作业       11218    份
  • 解答问题       36713    个

从一个不会编程的小白到一个老司机是需要过程的,首先得入门,学习基础知识,然后才能进阶,最后再到精通,本专题是你走进前端世界的不二选择!

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师